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

sort by:
Revision Author Date Message Commit Date
c5c8cfb Handle the case where the parent if-else region's after-block is unreachable. (#3241) Also added a test for this. Co-authored-by: Yong He <yonghe@outlook.com> 27 September 2023, 00:50:13 UTC
a18dca2 Fix for epoch/ASTBuilder* nullptr issue (#3240) * Fix issue with failing tests tests/serialization/serialized-module-test.slang tests/serialization/extern/extern-test.slang * Fix issue with session destruction order on Session. * Improve comment. 26 September 2023, 19:40:22 UTC
6c99194 Add test for vector-element contiguity error (#3235) 25 September 2023, 22:30:34 UTC
56c4a8c Update a1-02-slangpy.md (#3237) 25 September 2023, 22:29:35 UTC
2e76151 Fix for threading issues around global session & epoch ids. (#3232) * Fix for threading issues around global session & epoch ids. * Make m_epochId atomic for thread visibility. 25 September 2023, 15:52:18 UTC
ab04bd0 More `slangpy` features + polishing (#3233) * Update user-guide with new slangpy features * More polishing of new slangpy docs * Update a1-02-slangpy.md * Only require contiguity for vector element types * Added `loadOnce/storeOnce` and subscript operations * Added docs, `DiffTensorView.dims()` & `DiffTensorView.stride(uint)` * Add constructors, remove storeOnce/loadOnce test * Adjusted intrinsic definitions 23 September 2023, 16:11:45 UTC
263f807 Update a1-02-slangpy.md (#3228) 21 September 2023, 23:03:16 UTC
e31a967 Revert inlining change in #3217. (#3229) Co-authored-by: Yong He <yhe@nvidia.com> 21 September 2023, 23:02:04 UTC
5b2eb06 Various slangpy fixes. (#3227) * Make dynamic cast transparent through `IRAttributedType`. * Add [CUDAXxx] variant of attributes. * Support marshaling of vector types. * Wrap cuda kernels in `extern "C"` block. --------- Co-authored-by: Yong He <yhe@nvidia.com> 21 September 2023, 21:00:48 UTC
af8ce68 Misc SPIRV fixes. (#3220) Co-authored-by: Yong He <yhe@nvidia.com> 21 September 2023, 17:39:19 UTC
85d40ed Emit loads for array resources correctly (#3214) * Emit loads for array resources correctly * Put arrays of UniformConstant resources in UniformConstant * less expected failure * This code was actually used --------- Co-authored-by: Yong He <yonghe@outlook.com> 21 September 2023, 16:45:53 UTC
335ca78 move global initializers to entry point for spirv (#3225) * move global initializers to entry point for spirv * less expected failure --------- Co-authored-by: Yong He <yonghe@outlook.com> 21 September 2023, 16:43:15 UTC
4810dbd Do not move movable insts in fuse-satcoop (#3221) * Do not move movable insts in fuse-satcoop * Add case for IRCall in isMovableInst --------- Co-authored-by: Yong He <yonghe@outlook.com> 21 September 2023, 16:42:17 UTC
65e1a5b fix warnings (#3224) * Remove unused variable * Remove unused variable * Remove unused if bindings 21 September 2023, 15:31:03 UTC
c31f456 Update a1-02-slangpy.md (#3223) 21 September 2023, 05:28:51 UTC
c04f5b4 Update user-guide with new slangpy features (#3222) 21 September 2023, 05:15:29 UTC
29c318b Move force inlining step to before `processAutodiffCalls` (and run in loop) (#3217) * Move auto-diff force inlining step to before `processAutodiffCalls` * Fix `replaceUsesWith` to handle existing inst defined after current use. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 21 September 2023, 00:54:10 UTC
5b23870 Redirect destination-driven lowering logic to regular lowering for `SelectExpr` (#3219) * Redirect destination-driven lowering logic to regular lowering for select expr * Add test 20 September 2023, 20:47:56 UTC
25c79ad Fix `atan2` stdlib derivative + add tests. (#3218) * Fix atan2 stdlib derivative. Add tests for atan2 * Create dstdlib-atan2.slang.expected.txt * Update tests 20 September 2023, 19:22:51 UTC
73292d9 Direct SPIRV: Rasterization pipeline tests. (#3216) * Direct SPIRV: Rasterization pipeline tests. * Fixup. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 20 September 2023, 10:30:27 UTC
739c3a7 Added `[AutoPyBindCUDA]` for automatic kernel binding + `[PyExport]` for exporting type information (#3209) * Initial: add a DiffTensor impl * Auto-binding and diff tensor implementations now work * Refactored diff-tensor implementation + added py-export for struct types * Cleanup * Update slang-ir-pytorch-cpp-binding.cpp * Updated test names * Update autodiff-data-flow.slang.expected * Add more versions of load/store & default generic args for DiffTensorView. * Add diagnostic for default generic arg and more tests * Add more `[AutoPyBind]` tests 19 September 2023, 22:51:24 UTC
359fdc9 Handle combined image and samplers in spirv (#3213) * Handle combined image and samplers in spirv * less expected failure --------- Co-authored-by: Yong He <yonghe@outlook.com> 19 September 2023, 16:56:12 UTC
da30696 Memoize types in spirv asm blocks (#3215) * Neaten emitInst * Memoize types in spirv asm blocks * less expected failure 19 September 2023, 16:47:53 UTC
6542d47 Direct SPIRV ParameterBlock fix. (#3212) Co-authored-by: Yong He <yhe@nvidia.com> 19 September 2023, 14:21:17 UTC
d1efc69 Use target-dependent pointer size in natural layout. (#3210) Co-authored-by: Yong He <yhe@nvidia.com> 19 September 2023, 03:46:57 UTC
95fcf65 Fix loop inversion issue that caused ordinary blocks with multiple predecessors (#3211) * Add test case for while loop * Fix loop inversion issue that caused ordinary blocks with multiple predecessors The original version can leave the CFG in an invalid state with `e4` not being a break block or merge point, but having multiple predecessors. The updated version creates a separate jump block for each break instruction to avoid this issue. * Fixup tests 19 September 2023, 03:45:44 UTC
e884b15 Fix highlighting of generic types without argument. (#3208) Co-authored-by: Yong He <yhe@nvidia.com> 18 September 2023, 18:46:53 UTC
8bcffcc Use direct spirv in hello-world example. (#3207) * Use direct spirv in hello-world example. * Use vulkan 1.1 * Use vulkan 1.2. * fix. * Fix test. --------- Co-authored-by: Yong He <yhe@nvidia.com> 18 September 2023, 13:12:30 UTC
95b470f Add missing RayQuery intrinsics. (#3206) Co-authored-by: Yong He <yhe@nvidia.com> 13 September 2023, 23:20:38 UTC
c12779b Fix build with --enable-xlib=false (#3203) * Fix build with --enable-xlib=false * Correct brace location --------- Co-authored-by: Yong He <yonghe@outlook.com> 13 September 2023, 16:56:53 UTC
894237e Add gfx d3d12 TextureCube UAV case (#3205) Co-authored-by: Yong He <yonghe@outlook.com> 13 September 2023, 16:56:00 UTC
d2466a6 Add all RayQuery SPIRV Intrinsics. (#3204) * Add all RayQuery SPIRV Intrinsics. * Fix * Fix. * fix. * Fix. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 13 September 2023, 16:48:32 UTC
c0a77c3 Direct SPIRV for RayTracing Inline. (#3201) * Direct SPIRV for RayTracing Inline. * Fix. * Cleanup. * Fix compile error. --------- Co-authored-by: Yong He <yhe@nvidia.com> 12 September 2023, 17:49:16 UTC
3f4081d Correctly identify the number of operands to image sampling operands in SPIR-V (#3200) * Correctly identify the number of operands to image sampling operands in SPIR-V * Neaten imageoperands warning test * Neaten imageoperands warning test 12 September 2023, 09:44:34 UTC
09854a4 Add Mesh and Task shader support to GFX (#3190) * Bump vulkan headers Also just use vulkan-headers as a submodule * Add drawMeshTasks to gfx graphics pipelines * Add DispatchMesh overload with no payload, with GLSL intrinsic * Require spirv 1.4 for mesh shaders * Add vulkan mesh shader feature discovery * Add mesh shader stage bits to vk-util * Add mesh and task shader support to render-test * Add mesh and task tests * Preserve "payload" specifier in task shaders * Add mesh shader pipeline support to gfx * Add TODO * Add numThreads attribute for amplification stage * Add payload to task shader test * Drop dependency on d3dx12 * Allow passing payloads from task to mesh shaders * regenerate vs projects * check DispatchMesh name correctly * Add mesh shader tests to failing tests * Detect wave-ops feature on vulkan * Add fuse-product to expected failures This fails because the global varaible `count` is not initialized * Add required extension to WaveMaskMatch SPIR-V impl * Remove meshShader member from pipeline desc * Identify mesh shader support on d3d12 12 September 2023, 03:13:11 UTC
87bb0b5 Add check for contiguous tensors (#3199) Otherwise, this can lead to undetected scenario where the strides are incorrect for non-scalar types (`float2`, `float3`, etc..) Users must call `tensor = tensor.contiguous()` on the inputs to avoid this error. 09 September 2023, 00:12:25 UTC
26a0b3e Fix attribute highlighting + language server crash. (#3198) * Fix attribute highlighting + language server crash. * Fix wave intrinsic. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 08 September 2023, 22:57:00 UTC
26a7cf7 Remove unsupported torch types + add bool type. (#3197) Co-authored-by: Yong He <yonghe@outlook.com> 08 September 2023, 21:03:14 UTC
e8a1dd1 Don't inline callees with custom derivative before autodiff. (#3196) Co-authored-by: Yong He <yhe@nvidia.com> 08 September 2023, 19:26:07 UTC
cb5dd19 Incur l-value conversion cost during overload resolution. (#3195) * Incur l-value conversion cost during overload resolution. * Fix compile error. * cleanup. --------- Co-authored-by: Yong He <yhe@nvidia.com> 08 September 2023, 06:01:53 UTC
a7fa215 Lower LValue implicit cast before autodiff. (#3194) Co-authored-by: Yong He <yhe@nvidia.com> 08 September 2023, 00:05:18 UTC
5d078d9 Fix compiler crashing when `[BackwardDerivativeOf(fn)]` refers to an unresolved `fn` (#3191) * Fix compiler crashing on unresolved decl-ref * Update autodiff-custom-diff-unresolved.slang --------- Co-authored-by: Yong He <yonghe@outlook.com> 08 September 2023, 00:04:41 UTC
818f075 Fix GLSL output for `gl_ClipDistance` input builtin. (#3193) * Fix GLSL output for `gl_ClipDistance` input builtin. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 07 September 2023, 23:37:55 UTC
6804680 Fix erroneous diagnostic when checking a generic differentiable mutable method. (#3192) * Add a unit test * Fix. --------- Co-authored-by: Lifan Wu <lifanw@nvidia.com> Co-authored-by: Yong He <yhe@nvidia.com> 07 September 2023, 22:43:58 UTC
269282f Add -repro-fallback-directory (#3188) Co-authored-by: Yong He <yonghe@outlook.com> 07 September 2023, 14:20:26 UTC
135a5db Update prebuilt glslang binaries (#3189) * Update prebuilt glslang binaries * Add test for GL_EXT_texture_shadow_lod functions. * fix --------- Co-authored-by: Yong He <yhe@nvidia.com> 07 September 2023, 01:34:45 UTC
891a6cf Make a warning if a [mutating] method is called on an in param. (#3184) * Make a warning if a [mutating] method is passed as an in param. * Kick CI. --------- Co-authored-by: Yong He <yonghe@outlook.com> 06 September 2023, 23:32:06 UTC
20bd5e7 Global values are automatically assigned null derivative (#3186) 06 September 2023, 21:21:08 UTC
9333d23 Update c++ flags for glslang compilation. (#3187) Co-authored-by: Yong He <yhe@nvidia.com> 06 September 2023, 18:48:29 UTC
f276c5c Update glslang (#3185) Co-authored-by: Yong He <yhe@nvidia.com> 06 September 2023, 18:11:38 UTC
c754c0b Fix HLSL SER Intrinsics. (#3183) * Fix HLSL SER Intrinsics. * Fix GFX Vulkan shader creation bug. --------- Co-authored-by: Yong He <yhe@nvidia.com> 06 September 2023, 05:10:20 UTC
f80e01c Add support for getting external semaphore handles (#3181) * Add support for getting external semaphore handles * Fixes * Linux fix * Address reviewer comments --------- Co-authored-by: Yong He <yonghe@outlook.com> 05 September 2023, 23:07:29 UTC
2c2294d SPIR-V image operations (#3163) * Add __truncate and __sampledType for spirv_asm Allows some texture tests to start passing * add __isVector Currently unused * Add 1-vector legalization pass (WIP) * Add capabilities for image types * neaten instruction dumping * add 1-vector test * Add a couple of cases to vec1 legalization * Remove texture tests from expected failures * comment * regenerate vs projects * Remove redundant define form synchapi emulation * refactoring image methods * All sample functions refactored * Remove incorrect glsl intrinsics Partially addresses https://github.com/shader-slang/slang/issues/3174 * __subscript image ops via writing funcs * Extract texture struct writing from core.meta.slang * Abstract out cuda intrinsic * Remvoe erroneous call to opDecorateIndex * spirv asm IR utils * Correct position of loads for SPIR-V asm inst operands * Raise constructors to global scope during spir-v legalization * Correct snippet output * Implement most texture sampling ops for SPIR-V * Legalize 1-vectors for glsl too * Make SPIR-V inst operands non-hoistable * Better 1-vector legalization * Put textures in ptrs for spirv * insert missing break * Add vec1 legalization test * Add some missing pieces to slang-ir-insts * Greatly neaten vec1 legalization * a * Neaten vec1 legalization * Add image read and write intrinsics for spir-v * Squash warnings * regenerate vs projects * Drop redundant guards * Drop 5 tests from expected failure list * Inst numbering changes to cross compile tests * vec1 legalization tests only on vk * Correct location of asm op emit * Inline constant in spirv-asm * Correct signedness for lane in wave intrinsics * Extract element from float1 for cuda * squash warnings * Neaten spirv-emit * dedupe more capabilities * warnings * neaten assert * comments * comments 05 September 2023, 15:26:59 UTC
641f7bd Loop inversion: Handle case where loop can have additional inner breaks (#3178) * Loop inversion: Handle case where loop can have additional inner breaks - We now have another critical-edge-breaking block `e4` that is the target of inner breaks. - Both `e4` and `e1` (the break branch from the loop condition) branch to the loop's ne break block `b2`. - `b2` is a clone of the old break block `b`, and it simply branches to the old break block. This fixes an IR validation issue in `tests/autodiff/reverse-while-loop-2.slang` * Delete region-wave-masks.slang --------- Co-authored-by: Yong He <yonghe@outlook.com> 03 September 2023, 19:57:15 UTC
1d4b5b6 Proper lowering of functiosn that returns NonCopyable values. (#3179) * Proper lowering of functiosn that returns NonCopyable values. * Fix tests. * Fix clang errors. * Fix. * Fix clang error. --------- Co-authored-by: Yong He <yhe@nvidia.com> 03 September 2023, 19:56:31 UTC
355bb42 Fix github ci. (#3177) Co-authored-by: Yong He <yhe@nvidia.com> 01 September 2023, 18:11:58 UTC
d1f7e40 Fix CI related issues. (#3175) Co-authored-by: Yong He <yhe@nvidia.com> 01 September 2023, 09:12:49 UTC
9c11a87 Fix GLSL code gen around RayQuery and HitObject types. (#3173) * Update slang-llvm. * Fix. * fix. * Fix unit tests for multi-thread execution. * Fix tests. * fixes. * update tests. * Add gfx-smoke to linux expected failure list. * Try fix test. --------- Co-authored-by: Yong He <yhe@nvidia.com> 01 September 2023, 08:25:31 UTC
b7d1933 Inline all RayQuery/HitObject typed functions when targeting GLSL. (#3172) * Inline all RayQuery/HitObject typed functions when targeting GLSL. * update test. --------- Co-authored-by: Yong He <yhe@nvidia.com> 31 August 2023, 22:02:16 UTC
cc412af Add SPIRV atomics intrinsics and fix buffer layout lowering. (#3170) * Fix atomics intrinsics and buffer layout lowering. * Fix. * Add more test. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 31 August 2023, 20:49:40 UTC
1996785 Bottleneck `TypeCastIntVal` creation through ASTBuilder (#3171) * Bottleneck type-cast-int-val creation through ASTBuilder * Update slang-ast-builder.h 31 August 2023, 18:30:35 UTC
0fee59a Remove redundant define form synchapi emulation (#3169) 31 August 2023, 09:41:28 UTC
293153e Fix typo in intrinsic for `WaveActiveMin()` (#3167) 31 August 2023, 00:59:15 UTC
4261185 Fix subtle corner-case with vars getting hoisted out of the loop creating unnecessary loop state (#3165) * Extend the unit tests for MxLayeredMaterial * Add breaking loop test * Fix subtle corner-case with vars getting hoisted out of the loop creating unnecessary loop state * remove whitespace changes * Create loop-init.slang.expected.txt * Add filecheck tests to ensure correct loop state * Update comment --------- Co-authored-by: winmad <winmad.wlf@gmail.com> Co-authored-by: Yong He <yonghe@outlook.com> 30 August 2023, 18:59:34 UTC
bb15f5b Fix memory barrier intrinsics. (#3166) * Fix memory barrier intrinsics. Makes them produce the same spirv code as dxc. * Fix. * filecheck barrier test for spirv backend. * Fix glsl intrinsic definition. * Fix intrinsics. * Fix intrinsics. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 30 August 2023, 18:45:47 UTC
019f702 Wave intrinsics. (#3164) * Wave intrinsics. * scalar intrinsics. --------- Co-authored-by: Yong He <yhe@nvidia.com> 29 August 2023, 23:43:25 UTC
f3ecf97 Correct parsing spirv with no rhs operands (#3161) * Correct parsing spirv with no rhs operands * Guard against eof 29 August 2023, 12:58:44 UTC
9d4e044 Add more wave intrinsics. (#3162) Co-authored-by: Yong He <yhe@nvidia.com> 29 August 2023, 12:55:49 UTC
b8fcb58 clock intrinsics for spirv (#3159) 29 August 2023, 07:31:31 UTC
1b9c3ea Avoid empty lines when not finding a render api (#3160) 29 August 2023, 07:31:05 UTC
0da1e69 Fix cast, needs to be PtrTypeBase rather than PtrType such that InOut/Out work. (#3158) Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com> Co-authored-by: Yong He <yonghe@outlook.com> 29 August 2023, 04:41:33 UTC
c787c4b Add `target_switch` and `intrinsic_asm` statement. (#3154) * Add `target_switch` and `__intrinsic_asm` statement. * Cleanup. * WaveGetActiveMask, WaveGetActiveMask, WaveCountBits. * WaveIsFirstLane. * More wave intrinsics. * wave intrinsics. * merge fix. * Fix. * Fix. * Update test. * update test. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 29 August 2023, 04:24:49 UTC
af363c0 s/depreciated/deprecated/ (#3153) 29 August 2023, 03:26:27 UTC
508dc3a Allow bitwise or expressions and numeric literals in spirv_asm blocks (#3157) * Add -spirv-core-grammar option to load alternate spirv defs Also embed a version to use by default * Use perfect hash for spv op lookup * Neaten perfect hash embedding * Refactor spirv grammar lookup in preperation for more kinds of lookups * Load spirv capability list from spec * Add all SPIR-V enums to lookup table * regenerate vs projects * appease msvc * Use string slices for spir-v core grammar lookups * wiggle * comment * Add OpInfo for spv ops * regenerate vs projects * Embed op names * Add min/max operand counts and enum categories to spirv info * neaten * Operand kinds for spirv ops * Store and embed all information relating to spirv enums and qualifiers * Use SPIR-V spec to position instructions in spirv_asm blocks * Neaten spir-v info embedding * Neaten perfect hash embedding * Add assignment syntax to spirv_asm snippets * Better errors for spirv_asm parser * Add warning for too many operands in spirv asm * squash warnings * neaten * test wiggle * Lookup enums for spirv * Put OpCapability and OpExtension in the correct place for spirv_asm blocks * Tests for OpCapability and OpExtension * ci wiggle * Add expected failure * Allow raising immediate values to constant ids where necessary in spirv_asm blocks * Allow bitwise or expressions and numeric literals in spirv_asm blocks * test numeric literals * Fix memory issues. * fix. --------- Co-authored-by: Yong He <yonghe@outlook.com> 28 August 2023, 22:05:26 UTC
06f7ef3 Fix various issues with trivial loops (#3149) * Fix issue with trivial loop detection * Fix issue with unreachable blocks in break elimination Add logic to avoid eliminating loops with multi-level breaks. * Incorporate feedback - Use a boolean for multi-level break check - Use dominator trees for region check instead of exhaustive enumeration - Fix potential issue with enumerating parent break blocks. * fix 25 August 2023, 18:53:12 UTC
ef4c9f1 Initial version of spirv_asm block (#3151) * Initial version of spirv_asm block * Correct indentation of parent instruction dumping * neater dumping for spirv_asm instructions * Add $$ DollarDollar token * Allow passing addresses to spirv_asm blocks * spirv OpUndef * String literals in spirv asm * OpName for spirv_asm ids * Correct failure in lower spirv_asm * correct position for spirv_asm idents * comment correct * several more tests for spirv_asm blocks * Fill out some unimplemented functions for spirv_asm expressions --------- Co-authored-by: Yong He <yonghe@outlook.com> 25 August 2023, 17:42:34 UTC
036abc8 Support SPIRV Capability declaration on intrinsic functions. (#3150) * Spirv Capability lookup. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 25 August 2023, 15:49:02 UTC
0470ea0 Misc. SPIRV Fixes, Part 2. (#3147) * Misc. SPIRV Fixes, Part 2. * Fix up. * Fix. * Add system smenatic values. * 16 bit int and floats, matrix/vector reshape, bool ops. * Fix. * Fix. * Allow push constant entry point params. * entrypoint params. * swizzleSet and swizzledStore. * packoffset. * string hash. * Fix. * Matrix arithmetics. --------- Co-authored-by: Yong He <yhe@nvidia.com> 24 August 2023, 23:32:33 UTC
c515bf9 Misc. SPIRV Fixes. (#3146) * Lower all ByteAddressBuffer uses for SPIRV. * Misc. SPIRV Fixes. --------- Co-authored-by: Yong He <yhe@nvidia.com> Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com> 23 August 2023, 13:58:50 UTC
6437c38 Lower all ByteAddressBuffer uses for SPIRV. (#3143) Co-authored-by: Yong He <yhe@nvidia.com> 23 August 2023, 12:49:33 UTC
cdd5e66 Retain int casts when unifying generic params (#3145) 23 August 2023, 09:29:25 UTC
036a2b7 Make `-fvk-u-shift` work on AppendStructuredBuffer. (#3144) Co-authored-by: Yong He <yhe@nvidia.com> 23 August 2023, 06:21:50 UTC
e2e10fb Add test case for RayQuery parameter. (#3140) * Add test case for RayQuery parameter. * Update expeccted failure. --------- Co-authored-by: Yong He <yhe@nvidia.com> 22 August 2023, 18:07:53 UTC
9d7c9b9 color spirv-val output (#3132) * s/invalid code/todo * comment debug disassembled spirv * more convenient spirv-val output * color spirv-val output 22 August 2023, 04:10:10 UTC
bd6dbaf Compile append and consume structured buffers to glsl. (#3142) * Compile append and consume structured buffers to glsl. * Fix. * Update CI config. --------- Co-authored-by: Yong He <yhe@nvidia.com> 22 August 2023, 00:07:34 UTC
f94b2f7 Allow loop counters to be used as constexpr arguments. (#3139) * Allow loop counters to be used as constexpr arguments. * Fix. * Fix. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com> 18 August 2023, 19:48:46 UTC
4de3d9b Bail out of infinite timeouts in our posix synchapi emulation (#3129) This can happen if vkd3d-proton triggered a VK_DEVICE_LOST 18 August 2023, 04:39:33 UTC
8a292cf SPIRV: Fix matrix layout tests. (#3137) * SPIRV: Fix matrix layout tests. * Remove spaces. * Disable debug output. * Fix. * Update expected-failure list. --------- Co-authored-by: Yong He <yhe@nvidia.com> 18 August 2023, 04:39:16 UTC
80c8f13 Be more careful about merge blocks during loop inversion (#3136) * fix block eater * Be more careful about merge blocks during loop inversion * Restrict loop inversion to loops without continue jumps * Remove multiple back-edges from loops for SPIR-V * Wiggle cross compile test output * Make loop-inversion more conservative * Allow loops on false side in cfg normalization * Do not set loop continue block during inversion * Add loop inversion test to failing test list for spirv * Simplify single use continue blocks in spirv legalization * wobble expected failure list --------- Co-authored-by: Yong He <yonghe@outlook.com> 17 August 2023, 21:57:57 UTC
a0a9c04 Update README.md 17 August 2023, 20:12:51 UTC
efe20a3 Update README.md 17 August 2023, 20:12:10 UTC
945409c Initial support for differentiating existential types (#3111) * Merge * WIP: Complete auto-diff logic for existential types * Revert "Add compiler option for generating representative hash" This reverts commit 13b09ef4621e73844c96d64d9c111a8ed0d45aae. * More fixes for fwd-mode AD on existential types * Add anyValueSize inference pass * Fix checking of `Differential.Differential==Differential` * In-progress: infer any-value-size for existential types * Existentials now work in forward-mode * Overhaul handling of existential AD types. Fwd-mode works, reverse-mode requires front-end changes * Reverse-mode now works on existentials * Cleanup * Remove diff rules for create existential object for now * Revert treat-as-differentiable changes * Fixes * More fixes * Cleanup * more cleanup * signed/unsigned * Revert "Cleanup" This reverts commit e4f7d71f07bb207736f90708961eeecd09a1b652. * Cleanup (again) * Remove public/export/keep-alive on null differential after AD pass * Minor fix * Update dictionary accessors * Keep export decoration * More fixes + Support for `kIROp_PackAnyValue` * Merge upstream * Update expected-failure.txt 17 August 2023, 18:45:13 UTC
216fc18 Create storage types of different layouts for SPIRV emit. (#3116) * Create storage types of different layouts for SPIRV emit. * Fix. * Fix. * Fix. * Update expected failure list. --------- Co-authored-by: Yong He <yhe@nvidia.com> 17 August 2023, 05:47:35 UTC
a0ee2bf Add loop inversion pass (#2899) * Generalize collectInductionValues * Support affine transformations of loop index as induction variables * Test for generalized induction value collection * Neaten inductive variable finding * Make types more specific * Add loop inversion pass * Test output changes after loop inversion * Store the type of implication success when finding inductive variables * Test that loop induction finding does not alway succeed * Support chains of additions and branches of additions in induction variable finding * Use c++17 for downstream compilers * Wiggle expected output for cross compile test after loop inversion * Add loop inversion test * Simplify IfElse instructions with a single trivial block * Invert loops with a user inserted break * Limit loop inversion to loops with a 4 instruction or less comparison block * regenerate vs projects 17 August 2023, 05:41:49 UTC
3e41d69 Run vk tests on spirv backend with expected failure list. (#3128) 17 August 2023, 02:01:39 UTC
eaeb7cf Correct check for empty target flags (#3115) Co-authored-by: Yong He <yonghe@outlook.com> 16 August 2023, 19:38:49 UTC
6bdd19d Simplify IfElse instructions with a single trivial block (#3114) 16 August 2023, 19:38:22 UTC
00e2bf1 squash warnings (#3113) * Remove unused variables * Silence gcc out of bounds warnings * Squash strict-aliasing warnings It is still a naughty thing to be casting to T like this though * Correct equality check when val is nullptr --------- Co-authored-by: Yong He <yonghe@outlook.com> 16 August 2023, 05:27:00 UTC
9ec30a1 Remove -use-glsl-matrix-layout-modifier from test (#3104) Co-authored-by: Yong He <yonghe@outlook.com> 16 August 2023, 05:26:09 UTC
c16f711 SPIRV: debug source and debug line. (#3109) 16 August 2023, 03:55:21 UTC
back to top