summaryrefslogtreecommitdiffstats
path: root/tests/language-feature
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-08-24 10:56:53 -0700
committerGitHub <noreply@github.com>2022-08-24 10:56:53 -0700
commitd245c72f2a92a74ccda83f41758c1948ae5132d3 (patch)
treef036e1f2afb7febe2de9b09990bcde6c04f3bad1 /tests/language-feature
parent0b808453407f8feef8574cae99afd90771712185 (diff)
Compiler time evaluation of all int and bool operators. (#2376)
* Compiler time evaluation of all int and bool operators. * Fix linux compile error. * Fix. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'tests/language-feature')
-rw-r--r--tests/language-feature/generics/generic-value-constant-folding.slang13
-rw-r--r--tests/language-feature/generics/generic-value-constant-folding.slang.expected.txt8
2 files changed, 11 insertions, 10 deletions
diff --git a/tests/language-feature/generics/generic-value-constant-folding.slang b/tests/language-feature/generics/generic-value-constant-folding.slang
index 1d6781889..f7525e6fd 100644
--- a/tests/language-feature/generics/generic-value-constant-folding.slang
+++ b/tests/language-feature/generics/generic-value-constant-folding.slang
@@ -1,13 +1,13 @@
//TEST(compute):COMPARE_COMPUTE: -shaderobj -output-using-type
struct PlusOne<let v : int>
-{
- static const int value = v + 1;
+{
+ static const int value = v > 0? v + 1 : v - 1;
}
struct GetConst<let v : int, let u : int>
{
- static const int value = (u+v)*(u+v) + PlusOne<u-1>.value;
+ static const int value = (u/2+v)*(u+v) / PlusOne<u-1>.value;
int arr[value];
}
@@ -19,7 +19,8 @@ void computeMain(int3 dispatchThreadID : SV_DispatchThreadID)
{
int tid = dispatchThreadID.x;
int inVal = tid;
- int arr[GetConst<5,2>.value + 1];
- arr[0] = GetConst<5,3>.value + 1;
- outputBuffer[tid] = arr[0];
+ int arr[GetConst<5, 2>.value + 1];
+ GetConst<5, 3> obj;
+ obj.arr[0] = GetConst<5, 3>.value + 1;
+ outputBuffer[tid] = obj.arr[0];
}
diff --git a/tests/language-feature/generics/generic-value-constant-folding.slang.expected.txt b/tests/language-feature/generics/generic-value-constant-folding.slang.expected.txt
index 2ba17a828..ebb66dc8d 100644
--- a/tests/language-feature/generics/generic-value-constant-folding.slang.expected.txt
+++ b/tests/language-feature/generics/generic-value-constant-folding.slang.expected.txt
@@ -1,5 +1,5 @@
type: int32_t
-68
-68
-68
-68
+17
+17
+17
+17 \ No newline at end of file