summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-19Fix type checking for constructors in generic interfaces. (#3799)Yong He
2024-03-19Fix regression on pointer address space handling. (#3797)Yong He
2024-03-19Fix inconsistent digest of precompiled module. (#3796)Yong He
2024-03-18Swap `left` and `right` for matrix multiplication (#3777)Sai Praveen Bangaru
Co-authored-by: Yong He <yonghe@outlook.com>
2024-03-18Check cyclic types after specialization. (#3791)Yong He
2024-03-18Check for cylic types. (#3790)Yong He
2024-03-18Fix SPIRV for mesh shaders, checks for invalid target code&recursion. (#3788)Yong He
* Fix #3780. * Fixers #3781. * Add test for #3781. * Diagnose error on unsupported builtin intrinsic types. * Add check for recursion. * Fix. * Fix. * Fix recursion detection. * Fix. * Fix. * Fix recursion logic. * More fix.
2024-03-18Fix name mangling and source file finding logic for precompiled module ↵Yong He
validation. (#3784) * Fix name mangling. * Fix source validation. * Caching and search path fixes.
2024-03-18Update 09-reflection.md (#3787)Yong He
2024-03-17Remove out of date documentation on compilation API. (#3785)Yong He
* Remove out of date documentation on compilation API. * Update toc.
2024-03-16[gfx] compile shaders when creating programs for d3d12/vulkan (#3774)skallweitNV
2024-03-15Implement raytracing extension(s); resolves #3560 for GLSL & SPIR-V targets ↵ArielG-NV
(#3675) The following PR implements raytracing extensions (GLSL_EXT_ray_tracing, GLSL_EXT_ray_query, GLSL_NV_shader_invocation_reorder & GLSL_NV_ray_tracing_motion_blur); for GLSL & SPIR-V targets. Fully implements all functions, built-in variables, & syntax; resolves #3560 for GLSL & SPIR-V Targets. notes of worth: * __rayPayloadFromLocation, __rayAttributeFromLocation, and __rayCallableFromLocation, were added as SPIR-V Intrinsics to refer to location's of raytracing objects in SPIR-V for when using GLSL syntax.
2024-03-15[gfx] use CUDA driver API (#3776)skallweitNV
2024-03-14Mesh shader refactoring and bugfixes (#3702)Ellie Hermaszewska
2024-03-14Support `#include` with angle brackets. (#3773)Yong He
2024-03-14Support unscoped enums. (#3771)Yong He
2024-03-14Add diagnostic on invalid type constraint. (#3769)Yong He
2024-03-14Fix lowering of glsl builtin globals. (#3767)Yong He
2024-03-13Add cautionary desclaimers on interop mechanisms. (#3763)Yong He
* Add cautionary desclaimers on interop mechanisms. * Fix.
2024-03-13CMake fixes for MacOS (#3761)Craig Kolb
Co-authored-by: Yong He <yonghe@outlook.com>
2024-03-13Fix side effect checking around storage buffer type. (#3762)Yong He
2024-03-13Fix crash when specializing generic entry points. (#3760)Yong He
2024-03-13Add wrapper type synthesis logic for constructors. (#3756)Yong He
* Add wrapper type synthesis logic for constructors. * Fix.
2024-03-13Implement glsl atomic's [non image or memory scope] with optional ↵ArielG-NV
extension(s); resolves #3587 for GLSL & SPIR-V targets (#3755) The following commit implements atomic operations & types associated with OpenGL 4.6, GL_EXT_vulkan_glsl_relaxed, GLSL_EXT_shader_atomic_float, GLSL_EXT_shader_atomic_float2, for GLSL & SPIR-V targets. Fully implements all functions, and built-in type's, resolves https://github.com/shader-slang/slang/issues/3560 for GLSL & SPRI-V targets. [Atomic extensions for GLSL can be found here](https://github.com/KhronosGroup/GLSL/tree/main) Notes of worth: * atomic_uint is well defined in GLSL->OpenGL, although was removed in GLSL->VK unless a compiler extension is supported (GL_EXT_vulkan_glsl_relaxed). This support entails transforming all atomic_uint operations and references into a storage buffer. SPIR-V has AtomicCounter+AtomicStorage (atomic_uint parallel) but does not implement these capabilities for SPIR-V->VK in any scenario. Due to the case we transform atomic_uint ourselves (GLSL_Syntax->Slang_IR) to accommodate transforming atomic_uint into valid syntax. * GLSL_EXT_shader_atomic_float2 (all float16_t & some float/double operations) support is minimal and worth watching out for if enabling the tests.
2024-03-12Fix `sessionDesc.defaultMatrixLayoutMode` being ineffective. (#3753)Yong He
* Fix `sessionDesc.defaultMatrixLayoutMode` being ineffective. * Fix matrix layout in buffer pointer. * Attempt to fix. * Fix buffer element type lowering for buffer pointers. * Add comment. * Fix test. * Fix member lookup in `Ref<T>`. * Fix validation error. * Enhance test.
2024-03-12Fix derivative implementation of `clamp`. (#3750)Yong He
2024-03-12Make type names spec-conformant in SPIRV reflect. (#3748)Yong He
* Preserve ByteAddressBuffer user type name. * Make user type lowercase. * Make typenames conform to spec. * Use `SpvOpDecorateString`.
2024-03-12[SPIRV] Fix OpMemberDecorateString. (#3747)Yong He
2024-03-12Add nightly vkcts workflow (#3717)dzysk
* Create vk-gl-cts-nightly.yml Action to run VK-GL-CTS expected slang passing test list nightly on schedule to run at 12am Pacific time.
2024-03-12gfx: return error when vulkan fails to create buffer/pipeline (#3741)skallweitNV
* return buffer creation errors in vulkan * return pipeline creation errors in vulkan --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-03-12[SPIRV] Use VectorTimesScalar opcode. (#3737)Yong He
* [SPIRV] Use VectorTimesScalar opcode. * Fix.
2024-03-12Support emitting generic target_intrinsic type. (#3745)Yong He
2024-03-11Update 08-compiling.mdYong He
2024-03-11Add `-fvk-use-dx-position-w` and fix ExecutionMode ordering for geometry ↵Yong He
shaders. (#3731) * Add `-fvk-use-dx-position-w`. * Fix ordering of OutputVertices and output primitive type decoration in spirv. * Fix. * fix * Fix. * Move test around.
2024-03-11Link-time specialization fixes. (#3734)Yong He
* Fix method synthesis logic for static differentiable methods. * Support link-time constants in thread group size reflection.
2024-03-10Fix spirv builtin for `SV_ShadingRate`. (#3730)Yong He
2024-03-10Fix crash when trying to constant fold non-existent call. (#3728)Yong He
2024-03-08Improve cpp prelude. (#3725)Yong He
2024-03-08Enhance link-time type test. (#3724)Yong He
* Enhance link-time type test. * Fix. * Fix.
2024-03-08Add documentation for uniformity analysis. (#3721)Yong He
2024-03-08Parser and module finding logic fixes. (#3720)Yong He
* Fix parsing logic of `struct` decl. Fixes #3716. * Allow `loadModule` to find modules with underscores. * Fix test.
2024-03-08[SPIRV] fix code gen for `SV_Coverage`. (#3718)Yong He
* [SPIRV] fix code gen for `SV_Coverage`. * Fix #3714, #3699. * Fix.
2024-03-08Add ray query intrinsic test (#3707)tgrimesnv
2024-03-07[SPIRV] Fix pointer lowering bug. (#3713)Yong He
* [SPIRV] Fix pointer lowering bug. * Update falcor CI setting.
2024-03-07Link-time constant and linkage API improvements. (#3708)Yong He
* Link-time constant and linkage API improvements. * Fix. * Allow module name to be empty. * Fix. * Fix. * Fix compile error.
2024-03-07Fix SPIRV emit logic of `PrimitiveId` in fragment shader. (#3705)Yong He
2024-03-07Uniformity analysis. (#3704)Yong He
* Uniformity analysis. * Add [NonUniformReturn] decorations to some hlsl intrinsic functions.
2024-03-07set VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT for device local memory (#3698)skallweitNV
2024-03-06Fix the cuda left-hand swizzle issue (#3538) (#3691)kaizhangNV
2024-03-05Integrate compile & validation test (#3674)kaizhangNV
Co-authored-by: Yong He <yonghe@outlook.com>