diff options
| author | Yong He <yonghe@outlook.com> | 2019-02-05 18:46:04 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-05 18:46:04 -0800 |
| commit | 3d62beab61490ce3e7ed60b48fd6a11c8eeb44ad (patch) | |
| tree | a3971c4c6217914e9dc4c12917f26a7eb6ac28b2 /tests | |
| parent | 60cc9f24c4bec54561bea873ee943aa3d0973dc2 (diff) | |
| parent | a39fd3d3f67df28b9206c9f08bc7d046f9b0db59 (diff) | |
Merge pull request #830 from csyonghe/gencloser
Allow generics to close with >>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/compute/generic-closer.slang | 41 | ||||
| -rw-r--r-- | tests/compute/generic-closer.slang.expected.txt | 4 |
2 files changed, 45 insertions, 0 deletions
diff --git a/tests/compute/generic-closer.slang b/tests/compute/generic-closer.slang new file mode 100644 index 000000000..f3bb643de --- /dev/null +++ b/tests/compute/generic-closer.slang @@ -0,0 +1,41 @@ +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute +//TEST(compute):COMPARE_COMPUTE_EX:-slang -compute -dx12 +//TEST(compute, vulkan):COMPARE_COMPUTE_EX:-vk -compute + +//TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out + +interface IGetter +{ + int get(); +} +struct Gen0 : IGetter +{ + int get() { return 1; } +}; +struct Gen1<TGetter : IGetter> : IGetter +{ + TGetter g; + int get() { return g.get(); } +}; + +RWStructuredBuffer<int> outputBuffer; +void writeArray(inout float3 a[4]) +{ + a[0] = float3(1, 1, 1); + a[1] = float3(1, 1, 1); + a[2] = float3(1, 1, 1); + a[3] = float3(1, 1, 1); +} + +[numthreads(4, 1, 1)] +void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) +{ + Gen1<Gen1<Gen1<Gen0>>> g; + Gen1<Gen1<Gen1<Gen1<Gen0>>>> g2; + Gen1<Gen1<Gen0>> g3; + + int a = 0; + int b = 5; + if (a< b && b > a) + outputBuffer[dispatchThreadID.x] = (g.get() >> 1) + g2.get() + g3.get(); +}
\ No newline at end of file diff --git a/tests/compute/generic-closer.slang.expected.txt b/tests/compute/generic-closer.slang.expected.txt new file mode 100644 index 000000000..01dd2b944 --- /dev/null +++ b/tests/compute/generic-closer.slang.expected.txt @@ -0,0 +1,4 @@ +2 +2 +2 +2
\ No newline at end of file |
