summaryrefslogtreecommitdiff
path: root/source
AgeCommit message (Collapse)Author
2023-11-01Add mnemonic parsing for `intrinsic_type` modifier. (#3306)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-01Parameter binding and gfx fixes. (#3302)Yong He
* Parameter binding and gfx fixes. * Add diagnostics on entry point parameters. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-01Add OpDot for spirv (#3304)Ellie Hermaszewska
Co-authored-by: Yong He <yonghe@outlook.com>
2023-11-01add support for dx 6.7 profiles (#3299)skallweitNV
2023-10-26Make the exponent return value from frexp int (#3284)Ellie Hermaszewska
* Make the exponent return value from frexp int Fixes https://github.com/shader-slang/slang/issues/3282 * Update slang-llvm. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-26Add more diagnostics around use of custom derivatives. (#3291)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-26Fix generic specialization bug. (#3290)Yong He
* Fix generic specialization bug. * Update test. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-25Fix warnings for gcc 12.3 (#3286)Ellie Hermaszewska
* Silence a few gcc out of bounds warnings * Search upwards from executable for prelude directory instead of assuming depth * comment wording * Check return values of read and write * Correct path to vulkan headers in gfx * Correct diagnostic on missing file in slang-embed * Do not use absolute path to libraries in test-context.cpp --------- Co-authored-by: Yong He <yonghe@outlook.com>
2023-10-25Fix single iteration loop detection logic. (#3287)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-25Add `IArray`. (#3281)Yong He
* Initial support for generic interfaces. * Cleanup. * Add generic syntax for interfaces. * Add `IArray`. * Fix. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-25Support generic interfaces. (#3278)Yong He
* Initial support for generic interfaces. * Cleanup. * Add generic syntax for interfaces. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-20Fix issue with transposing `IRMakeVector` with non-singleton operands (#3280)Sai Praveen Bangaru
2023-10-17Type layouts for structured buffers with counters (#3269)Ellie Hermaszewska
* More tests for append structured buffer * Append and Consume structured buffer tests for DX12 * neaten * test wobble * Add counter layout information to append/consume structured buffers * add getRWStructuredBufferType * Correct definition of get size for append/consume structured buffers * tweak append structured buffer test * Allow initializing counter buffer in render test * vulkan test for consume structured buffer * Handle null counterVarLayout in getExplicitCounterBindingRangeOffset * remove dead code * Implement atomic counter increment/decrement for spirv * explicit spirv test * Add missing check on result * Hold on to counter resources --------- Co-authored-by: Yong He <yonghe@outlook.com>
2023-10-12Add HitObject.GetWorldToObject. (#3273)Yong He
* Add HitObject.GetWorldToObject. * fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-11Small warnings and bugs (#3272)Ellie Hermaszewska
* Correctly use removeTrivialSingleIterationLoops during simplification * remove unused variables * Fix invalid fallthrough --------- Co-authored-by: Yong He <yonghe@outlook.com>
2023-10-11Report spirv-opt time. (#3271)Yong He
* Report spirv-opt time. * Removing timing logic in `loadModule`. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-09Update prebuilt glslang binaries. (#3267)Yong He
* Update prebuilt glslang binaries. * Update spirv-disassembling logic in slang-glslang. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-09Run curated spirv-opt passes through slang-glslang. (#3266)Yong He
* Run curated spirv-opt passes through slang-glslang. * Cleanup. * Replace spirv-dis downstream compiler with glslang. * delete slang-spirv-opt.cpp. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-06Small type system fixes. (#3265)Yong He
2023-10-05Add intellisense support for spirv_asm blocks. (#3264)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-05Various AD Fixes (#3263)Sai Praveen Bangaru
* Various fixes * Remove unused parameter * Update slang-ir-loop-unroll.cpp --------- Co-authored-by: Yong He <yonghe@outlook.com>
2023-10-05Use designated compiler ID in SPIRV backend. (#3261)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-04Add `kIROp_BitOr` to known non-differentiable inst list. (#3259)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-04SPIRV compiler performance fixes. (#3258)Yong He
* SPIRV compiler performance fixes. * Cleanup. * update project files * Cleanup debug code. * Make redundancy removal non-recursive. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-02More direct-SPIRV fixes. (#3257)Yong He
* More direct-SPIRV fixes. * Fix array-reg-to-mem. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-10-02Use const ref for mesh payload (#3254)Ellie Hermaszewska
* Use const ref for mesh payload * Test mesh payload hlsl output
2023-10-02Add SPIRV intrinsics for ShaderExecutionReordering and RW/Buffer. (#3252)Yong He
* Add SPIRV intrinsics for ShaderExecutionReordering. * Add intrinsics for `Buffer` and `RWBuffer`. * Various spirv fixes. * Marshal bool vector type. * Inline global constants + OpFOrdNotEqual->OpFUnordNotEqual. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-29Fix for problem with OrderedHashSet causing crash (#3251)jsmall-nvidia
* Fix for problem with OrderedHashSet causing crashes during running tests on on g++ 7.3 * Fix typo
2023-09-29Add `requirePrelude()` intrinsic function. (#3250)Yong He
* Add `requirePrelude()` intrinsic function. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-28[Direct SPIRV]: ray tracing pipeline intrinsics. (#3244)Yong He
* Use a dedicated inst opcode to retrieve ray payload locations. * [Direct SPIRV]: ray tracing pipeline intrinsics. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-28Support `constref` parameters passing. (#3249)Yong He
* Support `constref` parameters passing. * Fix. * Fix. * Add test and diagnostic on mix use of __constref and no_diff. * check for [constref] on differentiable member method. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-27Fix `TensorView.store()` definition (#3248)Sai Praveen Bangaru
2023-09-27Remove `[NoSideEffect]` from `DiffTensorView.store()` (#3247)Sai Praveen Bangaru
Co-authored-by: Yong He <yonghe@outlook.com>
2023-09-27Fix a bug in `canInstHaveSideEffectAtAddress`. (#3246)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-27Fix regression on no_diff type transcription. (#3245)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-27Fix `isMovableInst`. (#3243)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-27WIP Mesh shaders for SPIR-V (#3226)Ellie Hermaszewska
* SPIR-V impl for SetMeshOutputCounts and DispatchMesh * Unsightly fix for legalization ordering differences between GLSL and SPIR-V * spelling * Start a new block after terminating one in the OpEmitMeshTasksExt SPIR-V asm block * Emit mesh shader decorations in SPIR-V * Mesh and task shader stages for spir-v * Output explicit gl builtins for spir-v * Be more hygenic when SOAizing mesh outputs * Do not create builtin paramter block for spirv mesh outputs * Pass mesh payloads around by ref * comment * less expected failure * remove unused * Add spirv op * Correct type query for default flat modifier --------- Co-authored-by: Yong He <yonghe@outlook.com>
2023-09-27Avoid make copies of __ref parameters when doing autodiff. (#3242)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-27Various SPIRV fixes. (#3231)Yong He
* Various SPIRV fixes. - Geometry shader support (WIP). - Fix texture get dimension and load. - Fold global GetElement(MakeArray/MakeVector) insts. - Call spvopt to inline all functions. - Translate OpImageSubscript. - Emit struct member names and global variable names. - Fix lowering of OpBitNot -> OpNot, instead of OpBitReverse. * Fix test. * Fix geometry shader. * Fix geometry shader emit. * Add atomic Image access test. * Fix tests. * don't fail if spirv-opt fails. * Update comments. * Fix test. * Cleanups. * indentation --------- Co-authored-by: Yong He <yhe@nvidia.com> Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2023-09-26Handle the case where the parent if-else region's after-block is ↵Sai Praveen Bangaru
unreachable. (#3241) Also added a test for this. Co-authored-by: Yong He <yonghe@outlook.com>
2023-09-26Fix for epoch/ASTBuilder* nullptr issue (#3240)jsmall-nvidia
* 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.
2023-09-25Add test for vector-element contiguity error (#3235)Sai Praveen Bangaru
2023-09-25Fix for threading issues around global session & epoch ids. (#3232)jsmall-nvidia
* Fix for threading issues around global session & epoch ids. * Make m_epochId atomic for thread visibility.
2023-09-23More `slangpy` features + polishing (#3233)Sai Praveen Bangaru
* 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
2023-09-21Revert inlining change in #3217. (#3229)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-21Various slangpy fixes. (#3227)Yong He
* 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>
2023-09-21Misc SPIRV fixes. (#3220)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-09-21Emit loads for array resources correctly (#3214)Ellie Hermaszewska
* 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>
2023-09-21move global initializers to entry point for spirv (#3225)Ellie Hermaszewska
* move global initializers to entry point for spirv * less expected failure --------- Co-authored-by: Yong He <yonghe@outlook.com>
2023-09-21Do not move movable insts in fuse-satcoop (#3221)Ellie Hermaszewska
* Do not move movable insts in fuse-satcoop * Add case for IRCall in isMovableInst --------- Co-authored-by: Yong He <yonghe@outlook.com>