diff options
| author | Yong He <yonghe@outlook.com> | 2018-12-13 12:26:36 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-13 12:26:36 -0800 |
| commit | 970b58a209e06afc7bd104e4701abfbb055f7c4d (patch) | |
| tree | cf57d89d6292d2f471c286b1b1c8d62d6b68bf84 /tests/compute | |
| parent | 8d13c06ab51f4993f5c56772e83fba3c384674df (diff) | |
| parent | 822ed708364b257b7d2f61ecb8a51a4c96f7edaa (diff) | |
Merge branch 'master' into dictfix
Diffstat (limited to 'tests/compute')
| -rw-r--r-- | tests/compute/transitive-interface.slang | 30 | ||||
| -rw-r--r-- | tests/compute/transitive-interface.slang.expected.txt | 8 |
2 files changed, 22 insertions, 16 deletions
diff --git a/tests/compute/transitive-interface.slang b/tests/compute/transitive-interface.slang index 6de12bdd4..bb525b9b5 100644 --- a/tests/compute/transitive-interface.slang +++ b/tests/compute/transitive-interface.slang @@ -1,16 +1,17 @@ //TEST(compute):COMPARE_COMPUTE: //TEST_INPUT:ubuffer(data=[0 0 0 0], stride=4):dxbinding(0),glbinding(0),out -RWStructuredBuffer<float> outputBuffer; + +RWStructuredBuffer<int> outputBuffer; interface IAdd { - float addf(float u, float v); + int addf(int u, int v); } interface ISub { - float subf(float u, float v); + int subf(int u, int v); } interface IAddAndSub : IAdd, ISub @@ -19,19 +20,19 @@ interface IAddAndSub : IAdd, ISub struct Simple : IAddAndSub { - float addf(float u, float v) + int addf(int u, int v) { return u+v; } - float subf(float u, float v) + int subf(int u, int v) { return u-v; } }; -float testAdd<T:IAdd>(T t) +int testAdd<T:IAdd>(T t) { - return t.addf(1.0, 1.0); + return t.addf(1, 1); } interface IAssoc @@ -44,23 +45,28 @@ struct AssocImpl : IAssoc typedef Simple AT; }; -float testAdd2<T:IAssoc>(T assoc) +int testAdd2<T:IAssoc>(T assoc) { T.AT obj; - return obj.addf(1.0, 1.0); + return obj.addf(1, 1); } -float testSub<T:ISub>(T t, float base) +int testSub<T:ISub>(T t, int base) { - return t.subf(base, 1.0); + return t.subf(base, 1); } [numthreads(4, 1, 1)] void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) { AssocImpl s; - float outVal = testAdd2(s); + + // expected value: 1 + 1 = 2 + int outVal = testAdd2(s); Simple s1; + + // expected value: 2 + (2-1) = 3 outVal += testSub(s1, outVal); + outputBuffer[dispatchThreadID.x] = outVal; }
\ No newline at end of file diff --git a/tests/compute/transitive-interface.slang.expected.txt b/tests/compute/transitive-interface.slang.expected.txt index e143b7f20..463fa2702 100644 --- a/tests/compute/transitive-interface.slang.expected.txt +++ b/tests/compute/transitive-interface.slang.expected.txt @@ -1,4 +1,4 @@ -3F800000 -3F800000 -3F800000 -3F800000
\ No newline at end of file +3 +3 +3 +3 |
