diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/compute/transitive-interface.slang | 30 | ||||
| -rw-r--r-- | tests/compute/transitive-interface.slang.expected.txt | 8 | ||||
| -rw-r--r-- | tests/ir/string-literal.slang.expected | 25 |
3 files changed, 28 insertions, 35 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 diff --git a/tests/ir/string-literal.slang.expected b/tests/ir/string-literal.slang.expected index 4503cb74a..7bc66d682 100644 --- a/tests/ir/string-literal.slang.expected +++ b/tests/ir/string-literal.slang.expected @@ -1,27 +1,14 @@ result code = 0 standard error = { -let %1 : _ = String() -let %2 : %1 = string_constant("main") -let %3 : _ = Void() -let %4 : _ = UInt() -let %5 : _ = Func(%3, %4) -let %6 : _ = BasicBlock() -let %7 : _ = Ptr(%3) -let %8 : %7 = ptr_constant() -let %9 : %1 = string_constant("tid") -Ptr(%4) -let %10 : %1 = string_constant("Hello \t\n\0x083 World") -let %11 : %7 = ptr_constant() -[highLevelDecl(%11)] +[export("_S04mainp1puV")] [nameHint("main")] -func @_S04mainp1puV : %5 +func %main : Func(Void, UInt) { -block %12( - param %13 : %4): - return_void() +block %1( + [nameHint("tid")] + param %tid : UInt): + return_void } - - } standard output = { } |
