summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2025-01-02Correct IR generation for no-diff pointer type (#5976)kaizhangNV
* Correct IR generation for no-diff pointer type Close #5805 There is an issue on checking whether a pointer type parameter is no_diff, we should first check whether this parameter is an Attribute type first, then check the data type. In the back-propagate pass, for the pointer type parameter, we should load this parameter to a temp variable, then pass it to the primal function call. Otherwise, the temp variable will no be initialized, which will cause the following calculation wrong.
2025-01-01Fix reflection for metal vector [[id]] location. (#5943)Yong He
2024-12-31Fix `getInheritanceInfo` for `ExtractExistentialType`. (#5971)Yong He
2024-12-30Check for undefined %id in spirv_asm block. (#5966)Yong He
2024-12-30Add `RaytracingAccelerationStructure::__init(uint64_t)`. (#5967)Yong He
2024-12-30Check mismatching method parameter direction against interface declaration. ↵Yong He
(#5964)
2024-12-30Fix requirement candidate lookup to prefer decls in the same paraent as the ↵Yong He
inheritance decl. (#5965)
2024-12-28Implement HLSL pack/unpack math intrinsics (#5934)Darren Wihandi
2024-12-26Add packed 8bit builtin types (#5939)Darren Wihandi
* Add packed bytes builtin type * fix test
2024-12-21Fixed stage and result field names in json reflection (#5927)Stan
2024-12-20Check subscript/property accessor for differentiability. (#5922)Yong He
2024-12-20Fix crash during loop unrolling. (#5920)Yong He
2024-12-19Add base vertex and base instance system values (#5918)Darren Wihandi
* Add base vertex and base instance system values * Fixed incorrect stage in tests
2024-12-19Enable more examples in CI (#5915)Anders Leino
* CI: examples: Add support for filtering on platform * Add platform field to example run IDs - Remove the reflection-api entry for Windows. - Add 'aarch64' as platform for all 'macos' entries. - Add 'x86_64' as platform for all other entries. - This will implicitly enable all aarch64 tests for Linux. This helps to address issue #5520.
2024-12-19Add HLSL texture sample with status intrinsics (#5901)Darren Wihandi
* Implement HLSL texture sample with status intrinsics * fix test and cleanup --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-19Report error when generated spirv is empty. (#5899)Yong He
* Report error when generated spirv is empty. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-19Refresh list of failing examples (#5904)Anders Leino
This helps to address issue #5520.
2024-12-18Check decl nesting for namespaces. (#5910)Yong He
2024-12-18Support explicit `[vk::location(n)]` binding on metal/wgsl. (#5907)Yong He
2024-12-18Allow `Optional`, `Tuple` and `bool` to be used in varying input/output. (#5889)Yong He
* Allow `Optional` and `Tuple` to be used in varying input/output. * Fix. * format code * Fix. * Fix test. * Fix. * enhance test. * Fix. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-18Add slang example tests to CI (#5879)Anders Leino
* Examples: Don't proceed if 'initializeBase' fails * Examples: Only access gWindow if it's been initialized * Examples: Free memory from CommandLineToArgvW * Add example run step to CI Lots of examples are still unexpectedly failing, but is one small step towards addressing issue #5520.
2024-12-17Add verification logic on push and specialization constants. (#5887)Yong He
* Add verification logic on push and specialization constants. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-17Implement bitcast for 64-bit date type (#5895)kaizhangNV
Close #5470 * implement bitcast for 64-bit date type * Move 'ensurePrelude' to base class to remove duplication * Assert on 'double' type for Metal target, as Metal doesn't have 'double' support
2024-12-16Support matrix negation in metal backend. (#5891)Yong He
2024-12-15Enable exprs for all supported GLSL layout qualifiers (#5857)Darren
2024-12-12Bit extract (#5847)kaizhangNV
* promoting bitfield extraction and insertion to become intrinsics for internal compiler use * removing duplicate intrinsics from glsl.meta.slang * refactor: update function signatures of bitfield extraction and insertion to use uint as the parameter type for offset and bits. --------- Co-authored-by: Nate Morrical <natemorrical@gmail.com> Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-12WGSL: Fix issue where global calls are generated (#5768)Anders Leino
* Split out SPIR-V -specific legalization of global functions This is a refactoring and should not affect generated code. * Move global inst inlining code into separate function This is a refactoring and should not affect generated code. * Take SPIR-V -specific parts out of GlobalInstInliningContext This is a refactoring and should not affect generated code. * Move 'inlineGlobalValues' to generic inlining context This is a refactoring and should not affect generated code. * Move 'setInsertBeforeOutsideASM' to generic inlining context This is a refactoring and should not affect generated code. * Move generic inlining context into own file This is a refactoring and should not affect generated code. * Run global inlining for WGSL as well * Make the 'getOutsideASM' function generic as well * Enable language-feature/constants/static-const-in-generic-interface.slang for WebGPU * Clarify when it's safe to remove and deallocate an IRInst * Remove globals if they're left unused after inlining This closes #5607. * Handle IRGlobalValueRef in C-like emitter * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-11Fix language server check skipping when explicit module decl exists. (#5845)Yong He
2024-12-12Bump spirv-header/tools/glslang (#5834)Ellie Hermaszewska
* Back out "Update SPIRV submodules (#5815)" This backs out commit e50aac13e2c161d672b137a62f6d66820d0f9ff1. * Use upstream spirv-tools * Fix bump-glslang.sh for newer versions of spirv-tools * Use upstream glslang * Add --do-fetch option to bump glslang * Bump glslang and friends Supersedes https://github.com/shader-slang/slang/pull/5815 * Regenerate glslang and spirv-tools outputs * Fixes to slang-glslang * Correct spirv intrinsic for OpImageSampleFootprintNV Note that this currently fails validation with the following error: ``` error: line 145: Result <id> from OpSampledImage instruction must not appear as operand for OpImageSampleFootprintNV, since it is not specified as taking an OpTypeSampledImage. Found result <id> '55[%sampledImage]' as an operand of <id> '56[%resultVal]'. %sampledImage = OpSampledImage %54 %51 %40 ``` This seems to be in error as the spec for *SPV_NV_shader_image_footprint* states that "Sampled Image must be an object whose type is OpTypeSampledImage" https://refined-github-html-preview.kidonng.workers.dev/KhronosGroup/SPIRV-Registry/raw/refs/heads/main/extensions/NV/SPV_NV_shader_image_footprint.html glslang also seems to fail with the same validation error * Fix spv storage class test
2024-12-11Fix the logic to determine whether lower generic pass should run. (#5837)Yong He
2024-12-11Update SPIRV submodules (#5815)Jay Kwak
* Update SPIRV submodules With the latest SPIR-V submodules, one of tests started failing: tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang [ForceInline] is added to GLSL texture functions in order to inline %true and %false. Without it, the value was indirectly passed down via a function parameter, which broke the existing test. Also the test is modified to use -DAG, because the order unpredictably changed for Grad variants due to additional [ForceInline] marks for Gradient functions. A new validation check in SPIRV-Tools was causing a validation error: ``` error: line 324: [VUID-StandaloneSpirv-OpTypeImage-06924] Cannot store to OpTypeImage, OpTypeSampler, OpTypeSampledImage, or OpTypeAccelerationStructureKHR objects OpStore %17 %242 ``` It appears that this is a bug on SPIRV-Tools. A proper fix is proposed to Khronos/SPIRV-Tools: https://github.com/KhronosGroup/SPIRV-Tools/pull/5914 But this commit uses `shader-slang/SPIRV-Tools/fix_for_OpImageSampleFootprintNV` with a custom fix as a temporary solution: https://github.com/shader-slang/SPIRV-Tools/tree/fix_for_OpImageSampleFootprintNV
2024-12-11Fix anyvalue marshalling for matrix and 64 bit types. (#5827)Yong He
* Fix anyvalue marshalling for matrix types. * Add support for 64bit types marshalling. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-10Enable WGSL tests that works for Metal related to Semantics (#5816)Jay Kwak
* Enable WGSP tests that works for Metal related to Semantics This commit enables existing tests for WGSL that are enabled for Metal regarding the Semantics.
2024-12-10Enable exprs for GLSL binding layout qualifiers (#5807)Darren
* Allow glsl set and binding layout qualifiers to be compile time integer exprs * add new tests * add comments * cleanup on asserts * addressed review comments and cleanup * fix missing set expr in test * fixed tests and cleanup --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-12-10Create scope for synthesized property decl. (#5817)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-10Fix a crash when search for files. (#5818)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-10Don't emit a warning when implicit casting from known in-range int lit to ↵Yong He
half. (#5814) Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-10Fix parsing logic of for loops' initial statement. (#5813)Yong He
2024-12-09Add SV_DrawIndex. (#5787)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Allow pointers to existential values. (#5793)Yong He
* Fix pointer offset logic and add executable tests. * Fix. * Fix test. * Add existential ptr test. * Allow pointers to existential values. * Fix. * Fix. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Fix crash during emitCast of attributed type, allow MaxIters to take ↵Yong He
linktime const. (#5791) * Fix crash during emitCast of attributed type. * Allow [MaxIters] to take link time constants. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Report error on nested functions. (#5792)Yong He
* Report error on nested functions. * Fix. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Fix crash on recursive types. (#5796)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-09Add Sampler*Shadow type aliases. (#5789)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-06Support specialization constant on WGSL and Metal. (#5780)Yong He
2024-12-06Implement explciit binding for metal and wgsl. (#5778)Yong He
* Respect explicit bindings in wgsl emit. * Implement explciit binding generation for metal and wgsl. * Update toc. * Fix warnings in tests. * Fix tests. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-05Make fvk-invert-y work on mesh shader ouptuts. (#5760)Yong He
Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2024-12-04WGPU: Add new test and explanation for disabled test (#5731)Anders Leino
* Add buffer swizzle store test using structured buffers This helps to address #5612 * WGPU: Add explanation for tests/bugs/buffer-swizzle-store.slang This closes #5612. * Manual formatting fix * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2024-12-03Add emit logic for `requirePrelude` inst. (#5735)Yong He
2024-12-03Add intrinsics for aligned load/store. (#5736)Yong He
* Add intrinsics for aligned load/store. * Fix. * Update comment. * Implement aligned load/store as intrinsic_op. * Fix. * Add proposal doc. * fix typo.