summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/webgpu/computepass_shader.wgsl
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2024-02-10 13:22:13 -0700
committerGitHub <noreply@github.com>2024-02-10 20:22:13 +0000
commitf5e46c9bf2f50d66a953fa133161fc829cecff06 (patch)
tree8faf2f5831c1c7b11d842cd9908d141082c869a5 /cli/tests/testdata/webgpu/computepass_shader.wgsl
parentd2477f780630a812bfd65e3987b70c0d309385bb (diff)
chore: move cli/tests/ -> tests/ (#22369)
This looks like a massive PR, but it's only a move from cli/tests -> tests, and updates of relative paths for files. This is the first step towards aggregate all of the integration test files under tests/, which will lead to a set of integration tests that can run without the CLI binary being built. While we could leave these tests under `cli`, it would require us to keep a more complex directory structure for the various test runners. In addition, we have a lot of complexity to ignore various test files in the `cli` project itself (cargo publish exclusion rules, autotests = false, etc). And finally, the `tests/` folder will eventually house the `test_ffi`, `test_napi` and other testing code, reducing the size of the root repo directory. For easier review, the extremely large and noisy "move" is in the first commit (with no changes -- just a move), while the remainder of the changes to actual files is in the second commit.
Diffstat (limited to 'cli/tests/testdata/webgpu/computepass_shader.wgsl')
-rw-r--r--cli/tests/testdata/webgpu/computepass_shader.wgsl38
1 files changed, 0 insertions, 38 deletions
diff --git a/cli/tests/testdata/webgpu/computepass_shader.wgsl b/cli/tests/testdata/webgpu/computepass_shader.wgsl
deleted file mode 100644
index 41af4363a..000000000
--- a/cli/tests/testdata/webgpu/computepass_shader.wgsl
+++ /dev/null
@@ -1,38 +0,0 @@
-@group(0)
-@binding(0)
-var<storage, read_write> v_indices: array<u32>; // this is used as both input and output for convenience
-
-// The Collatz Conjecture states that for any integer n:
-// If n is even, n = n/2
-// If n is odd, n = 3n+1
-// And repeat this process for each new n, you will always eventually reach 1.
-// Though the conjecture has not been proven, no counterexample has ever been found.
-// This function returns how many times this recurrence needs to be applied to reach 1.
-fn collatz_iterations(n_base: u32) -> u32{
- var n: u32 = n_base;
- var i: u32 = 0u;
- loop {
- if (n <= 1u) {
- break;
- }
- if (n % 2u == 0u) {
- n = n / 2u;
- }
- else {
- // Overflow? (i.e. 3*n + 1 > 0xffffffffu?)
- if (n >= 1431655765u) { // 0x55555555u
- return 4294967295u; // 0xffffffffu
- }
-
- n = 3u * n + 1u;
- }
- i = i + 1u;
- }
- return i;
-}
-
-@compute
-@workgroup_size(1)
-fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
- v_indices[global_id.x] = collatz_iterations(v_indices[global_id.x]);
-}