summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-12-03 10:19:19 -0500
committerGitHub <noreply@github.com>2021-12-03 10:19:19 -0500
commitf4b86ff23c825f5e776a401f89302bfcd358aae8 (patch)
tree460942f9640fa7babafbf937f26cc7f299725a33
parent80ff45f095db5a08db264921fda2db210788d529 (diff)
U/Int64 coverage on slang-llvm JIT (#2040)
* #include an absolute path didn't work - because paths were taken to always be relative. * Update slang-llvm dependencies.
-rw-r--r--deps/target-deps.json10
-rw-r--r--tests/hlsl-intrinsic/scalar-int64.slang15
-rw-r--r--tests/hlsl-intrinsic/scalar-int64.slang.expected.txt6
-rw-r--r--tests/hlsl-intrinsic/scalar-uint64.slang17
-rw-r--r--tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt8
5 files changed, 39 insertions, 17 deletions
diff --git a/deps/target-deps.json b/deps/target-deps.json
index f5514a0b0..3f43fe662 100644
--- a/deps/target-deps.json
+++ b/deps/target-deps.json
@@ -4,14 +4,14 @@
"dependencies" : [
{
"name" : "slang-llvm",
- "baseUrl" : "https://github.com/shader-slang/slang-llvm/releases/download/v13.x-20/",
+ "baseUrl" : "https://github.com/shader-slang/slang-llvm/releases/download/v13.x-22/",
"optional" : true,
"packages" :
{
- "windows-x86_64" : { "type" : "url", "path" : "slang-llvm-13.x-20-win64.zip" },
- "windows-x86" : { "type": "url", "path" : "slang-llvm-13.x-20-win32.zip" },
- "linux-x86_64" : { "type": "url", "path" : "slang-llvm-v13.x-20-linux-x86_64-release.zip" },
- "macosx-x86_64" : { "type": "url", "path" : "slang-llvm-v13.x-20-macosx-x86_64-release.zip" }
+ "windows-x86_64" : { "type" : "url", "path" : "slang-llvm-13.x-22-win64.zip" },
+ "windows-x86" : { "type": "url", "path" : "slang-llvm-13.x-22-win32.zip" },
+ "linux-x86_64" : { "type": "url", "path" : "slang-llvm-v13.x-22-linux-x86_64-release.zip" },
+ "macosx-x86_64" : { "type": "url", "path" : "slang-llvm-v13.x-22-macosx-x86_64-release.zip" }
}
},
{
diff --git a/tests/hlsl-intrinsic/scalar-int64.slang b/tests/hlsl-intrinsic/scalar-int64.slang
index 17ab4a9f9..68f3c4da9 100644
--- a/tests/hlsl-intrinsic/scalar-int64.slang
+++ b/tests/hlsl-intrinsic/scalar-int64.slang
@@ -20,10 +20,21 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
ti += max(2, idx);
ti += min(idx, 1);
ti += abs(idx - 2);
- ti += (idx * 3) % 5;
-
ti += clamp(idx * 10, 11, 23);
+ // Math
+ ti = ti - idx;
+ ti = ti + (ti % (idx + 5));
+ ti = ti + (ti / (idx + 20));
+
+ // Logical ops
+ ti = ti | idx;
+ ti = ti ^ (idx & (idx + 1));
+
+ // Shift
+ ti = ti + (idx >> 1);
+ ti = ti + (idx << 2);
+
int64_t v = (ti * 0x400010035435435ll) / 3ll + 7ll - 9ll;
outputBuffer[idx] = int(v) ^ int(((v >> 32) & 0xffffffff));
diff --git a/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt b/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt
index 6ca5a87e0..d98a04780 100644
--- a/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt
+++ b/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt
@@ -1,4 +1,4 @@
1E50A006
-2793FF3D
-8A1AA9A7
-ED76E236
+68D74A70
+3CA14012
+FB81B54E
diff --git a/tests/hlsl-intrinsic/scalar-uint64.slang b/tests/hlsl-intrinsic/scalar-uint64.slang
index f195f17f2..089a756fa 100644
--- a/tests/hlsl-intrinsic/scalar-uint64.slang
+++ b/tests/hlsl-intrinsic/scalar-uint64.slang
@@ -19,13 +19,24 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID)
uint64_t ti = 0;
ti += max(2, idx);
- ti += min(idx, 1ull);
- ti += (idx * 3) % 5;
-
+ ti += min(idx, 1ull);
ti += clamp(idx * 10, 11, 23);
ti += countbits(idx * 13);
+ // Math
+ ti = ti - idx;
+ ti = ti + (ti % (idx + 5));
+ ti = ti + (ti / (idx + 20));
+
+ // Logical ops
+ ti = ti | idx;
+ ti = ti ^ (idx & (idx + 1));
+
+ // Shift
+ ti = ti + (idx >> 1);
+ ti = ti + (idx << 2);
+
uint64_t v = uint64_t(ti) * 0x8000100354354354ull;
// Let's check all the bits make it
uint64_t u = v | 0x8000000000000000ull;
diff --git a/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt b/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt
index d3843ea52..460172e38 100644
--- a/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt
+++ b/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt
@@ -1,4 +1,4 @@
-C6B4BB6F
-142802D2
-619FA985
-34A0408
+C3553575
+B9320367
+ABB0EB5F
+49FF9F5F