summaryrefslogtreecommitdiffstats
path: root/tests/language-feature
Commit message (Collapse)AuthorAge
...
* Fix anyvalue marshalling for matrix and 64 bit types. (#5827)Yong He2024-12-11
| | | | | | | | | * Fix anyvalue marshalling for matrix types. * Add support for 64bit types marshalling. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
* Fix a crash when search for files. (#5818)Yong He2024-12-10
| | | Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
* Fix parsing logic of for loops' initial statement. (#5813)Yong He2024-12-10
|
* Fix crash during emitCast of attributed type, allow MaxIters to take ↵Yong He2024-12-09
| | | | | | | | | | | 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>
* Implement explciit binding for metal and wgsl. (#5778)Yong He2024-12-06
| | | | | | | | | | | | | | | * 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>
* wgsl: signedness mismatch fixes (#5692)Anders Leino2024-11-28
| | | | | | | | | | | | | | | | | * Enable tests/language-feature/enums/strongly-typed-id.slang * Fix operator signedness mismatch issue This helps to address issue #5606. * wgsl: Insert casts for integer type return values This closes #5606. * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* wgsl: Conditionally enable some tests based on 'half' support (#5694)Anders Leino2024-11-28
| | | | | | | | | Require the 'half' rendering feature for WebGPU, so that we can detect when the f16 feature is not available, for the following tests: - tests/language-feature/generics/tuple.slang - tests/language-feature/generics/variadic-0.slang This helps to address issue #5605.
* WGSL: Fix issue where swizzle L-values are generated (#5682)Anders Leino2024-11-26
| | | | | | | | | | | | * wgsl: Do not generate L-value swizzle expressions * Enable tests/language-feature/swizzles/matrix-swizzle-write-*.slang The following tests are enabled - tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang - tests/language-feature/swizzles/matrix-swizzle-write-array.slang This closes #5603.
* Don't treat StrcturedBuffer<IFoo> as a specializable param. (#5645)Yong He2024-11-22
| | | | | * Don't treat StrcturedBuffer<IFoo> as a specializable param. * Fix RHI.
* Refresh of disabled WGPU tests (#5614)Anders Leino2024-11-21
| | | | | | | | | Some tests are now passing and are enabled. Other tests are still failing, but are given comments categorizing the failures. Tests in the 'Not supported in WGSL' category are also removed from the expected failures list. (Though they are still kept disabled for WebGPU, of course.) This closes #5519.
* Enable a bunch of WGPU tests (#5513)Anders Leino2024-11-07
| | | This closes issue #5505.
* Fix IntVal unification logic to insert type casts + buffer element lowering ↵Yong He2024-11-06
| | | | | | | regression. (#5508) * Fix IntVal unification logic to insert type casts. * Fix regression.
* Fix WGSL parameter block binding. (#5500)Yong He2024-11-06
| | | | | | | | | | | | | * Fix WGSL parameter block binding. * Re-enable tests. * Update failure list. * Fix entrypoint parameters. * Update tests. * Enable stat-var test.
* Various WGSL fixes. (#5490)Yong He2024-11-04
| | | | | | | | | | | | | | | | | | | * [WGSL] make sure switch has a default label. * Various WGSL fixes. * Update rhi submodule commit * format code * Remove unnecessary DISABLE_TEST directive on not applicable test. * Matrix comp mul + `select`. * Legalize binary ops for wgsl. --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
* Allow enum cases to be used in attribute arguments. (#5478)Yong He2024-11-02
|
* Revert uint<->int implicit cast cost to prefer promotion to unsigned. (#5480)Yong He2024-11-02
|
* Enable a few more WGPU tests (#5476)Anders Leino2024-11-01
| | | | | * Enable tests/compute/func-cbuffer-param * Enable tests/language-feature/tuple/tuple-parameter.slang
* Add implicit cast for generic vector types. (#5413)Yong He2024-10-27
|
* Properly check switch case. (#5341)Yong He2024-10-20
|
* Enable WebGPU tests in CI (#5239)Anders Leino2024-10-15
|
* Support constant folding for static array access. (#5248)Yong He2024-10-09
| | | | | * Support constant folding for static array access. * Fix test.
* Fix crash when compiling associatedtypes with generic interface constraints. ↵Yong He2024-10-01
| | | | | | | | | (#5200) * Fix crash when compiling associatedtypes with generic interface constraints. * delete hlsl.meta.slang.temp.h. * Fix.
* Fix handling of pointer logic in wgsl backend. (#5129)Yong He2024-09-20
|
* Initial `Atomic<T>` type implementation. (#5125)Yong He2024-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial Atomic<T> type implementation. * Update design doc. * Fix. * Add test. * Fixes and add tests. * Fix WGSL. * Fix glsl. * Fix metal. * experiemnt with github metal. * experiment github metal 2 * github metal experiment 3 * experiment with github metal 4. * experiment with metal 5. * experiment 7. * metal experiment 8. * Fix metal tests. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Synthesize conformance for generic requirements. (#5111)Yong He2024-09-19
| | | | | | | | | * Synthesize conformance for generic requirements. * Fix. * Fix build error. * address code review.
* Add `IRWArray` interface, and make StructuredBuffer conform to them. (#5097)Yong He2024-09-18
| | | | | | | | | * Add `IRWArray` interface, and make StructuredBuffer conform to them. * Update user guide. * Fix. * Fixes.
* Disambiguate subscript decls by preferring the one with more accessors. (#5046)Yong He2024-09-10
|
* Specialize existential return types when possible. (#5044)Yong He2024-09-10
| | | | | | | | | | | | | * Fix inccorect dropping of declref during Unification of DeclaredSubtypeWitness. * Add extension test. * Specialize existential return types when possible. * Fix. * Fix. * Fix falcor issue.
* Fix inccorect dropping of declref during Unification of ↵Yong He2024-09-10
| | | | | | | DeclaredSubtypeWitness. (#5041) * Fix inccorect dropping of declref during Unification of DeclaredSubtypeWitness. * Add extension test.
* Support entrypoints defined in a namespace. (#5011)Yong He2024-09-05
| | | | | * Support entrypoints defined in a namespace. * Fix test.
* Support `where` clause and type equality constraint. (#4986)Yong He2024-09-05
| | | | | | | | | | | | | | | | | * Support `where` clause. * Fix. * Fix parser. * Enhance test to cover traditional __generic syntax. * Update user-guide. * Support `where` clause on associatedtype. * Fix. * Put in more comments.
* Respect matrix layout in uniform and in/out parameters for HLSL target. (#5013)Yong He2024-09-05
| | | | | | | | | | | | | | | | | | | * Respect matrix layout in uniform and in/out parameters for HLSL target. * Update test. * Fix test. * fix test. * Fix metal layout calculation. * Fix compile error. * Fix compiler error. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Fix extension override behavior, and disallow extension on interface types. ↵Yong He2024-09-04
| | | | | | | | | | | | | (#4977) * Add a test to ensure extension does not override existing conformance. * Fix doc. * Update documentation. * Fix doc. * Add diagnostic test.
* Support extension on generic type. (#4968)Yong He2024-08-30
|
* Support specialization constants. (#4963)Yong He2024-08-30
| | | | | | | | | | | | | | | | | | | | | * Support specialization constants. * Fix. * Fix. * Fix. * Fix. * Make sure specialization constants have names. * Clean up and support the dxc [vk::constant_id] syntax. * Fix. * Fix. * Fix.
* Make sure `NullDifferential` and its witness are removed after autodiff. (#4958)Yong He2024-08-28
| | | | | | | * Make sure `NullDifferential` and its witness are removed after autodiff. * Fix. * Add a test.
* Fix partial inference of variadic generic functions. (#4956)Yong He2024-08-28
|
* Allow capabilities to be used with `[shader("...")]` (#4928)ArielG-NV2024-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow capabilities to be used with `[shader("...")]` Fixes: #4917 Changes: 1. Allow using capabilities instead of `Stage`s with `EntryPointAttribute`. 2. When resolving capabilities for an entrypoint+profile (per entrypoint) in `resolveStageOfProfileWithEntryPoint` add our `EntryPointAttribute` and resolved capability 3. Added tests and some capabilities related clean-up * fix a warning made by a mistake in syntax * change fineStageByName to assume it is passed a stage without a '_' * test with and without prefix '_' * cleanup some profiles and reprisentation to work better with 'Stage' and 'Profile' This use case is why we need to clean all profile-usage into `CapabilityName`s directly. * change how we compare * only change profiles * let all capabilities be resolved by 'shader' profile for now * fix warning checks I accidently broke * meshshading_internal to _meshshading --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Make tuple types work in autodiff. (#4923)Yong He2024-08-28
|
* Add functor syntax support. (#4926)Yong He2024-08-27
|
* Make variadic generics work with interfaces and forward autodiff. (#4905)Yong He2024-08-23
|
* Support dependent generic constraints. (#4870)Yong He2024-08-20
| | | | | | | | | | | | | * Support dependent generic constraints. * Fix warning. * Update comment. * Fix. * Add a test case to verify fix of #3804. * Address review.
* Tuple swizzling, concat, comparison and `countof`. (#4856)Yong He2024-08-19
| | | | | | | | | | | * Tuple swizzling and element access. * Update proposal status. * Cleanup. * Fix merrge error. * Address review.
* Variadic Generics Part 2: IR lowering and specialization. (#4849)Yong He2024-08-18
| | | | | | | | | * Variadic Generics Part 2: IR lowering and specialization. * Update design doc status. * Update design doc. * Resolve review comments.
* Do not zero-initialize groupshared and rayquery variables (#4838)ArielG-NV2024-08-14
| | | | | | | | | | | | | | | | | | | | | | | * Do not zero-initialize groupshared and rayquery variables Fixes: #4824 `-zero-initialize` option will explicitly not: 1. Set any groupshared values to defaults 2. Set any rayQuery object to a default state (currently invalid code generation) * grammer * disallow groupshared initializers disallow groupshared initializers & adjust tests accordingly * remove disallowed groupshared-init expression * do not default init if non-copyable --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Warn when inout parameter is never written (#4777)venkataram-nv2024-08-12
| | | | | | | Addresses #4698 as one approach to diagnose the potential problem. Emit warnings when a user marks a parameter as `inout` but never writes to it in the function. A new intrinsic function `unmodified(out T)` has been added to explicitly indicate that an `inout` variable will not be modified in the function. This is only one way to address the specific validation error in #4698. In general it seems that DXC does some more extensive checks on actual struct fields (as opposed to observing arbitrary struct writes), so that will be the next step.
* Allow a enum case to reference a previously defined value. (#4768)Yong He2024-08-01
|
* Perform type legalization on StructuredBuffer element. (#4767)Yong He2024-08-01
|
* Allow implicit 'uniform' entrypoint parameters. (#4765)Yong He2024-08-01
| | | | | | | | | | | * Allow impliocit 'uniform' entrypoint parameters. * Fix. * Fix. * Fix. * Fix.
* Allow generic type deduction from ParameterBlock arguments. (#4766)Yong He2024-07-31
| | | | | | | | | | | * Allow generic type deduction from ParameterBlock arguments. * Fix test. * Update expected failure list. --------- Co-authored-by: Yong He <yhe@nvidia.com>