yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

kaizhangNVfix overload in extension issue (#7999)34840bb69

master
647 B28 linesraw
1//TEST:SIMPLE(filecheck=CHECK):-target spirv
2
3// This test verifies that a generic method defined in an extension can be found.
4
5// CHECK: OpEntryPoint
6struct Test {
7    void genericMethod<int u>(float2 x) {}
8    __subscript<T:__BuiltinIntegerType>(T idx1, T idx2) -> int
9    {
10        get { return 0; }
11    }
12}
13
14extension Test {
15    void genericMethod<int u>() {}
16    __subscript<T:__BuiltinIntegerType>(T idx1) -> int
17    {
18        get { return 1; }
19    }
20}
21
22[shader("compute")]
23void main()
24{
25    Test t;
26    t.genericMethod<3>();    // Should work - calls extension method
27    int a = t[0];            // Should work - calls extension method
28}