2021-07-23 16:44:52 +00:00
|
|
|
struct UBO {
|
2022-03-28 14:31:22 +00:00
|
|
|
dynamic_idx : i32,
|
2022-01-19 18:11:17 +00:00
|
|
|
}
|
2021-07-23 16:44:52 +00:00
|
|
|
|
2022-01-19 22:46:57 +00:00
|
|
|
@group(0) @binding(0) var<uniform> ubo : UBO;
|
2021-07-23 16:44:52 +00:00
|
|
|
|
|
|
|
struct S {
|
2022-03-28 14:31:22 +00:00
|
|
|
data : array<i32, 64>,
|
2022-01-19 18:11:17 +00:00
|
|
|
}
|
2021-07-23 16:44:52 +00:00
|
|
|
|
|
|
|
struct Result {
|
2022-03-28 14:31:22 +00:00
|
|
|
out : i32,
|
2022-01-19 18:11:17 +00:00
|
|
|
}
|
2021-07-23 16:44:52 +00:00
|
|
|
|
2022-01-19 22:46:57 +00:00
|
|
|
@group(0) @binding(1) var<storage, read_write> result : Result;
|
2021-07-23 16:44:52 +00:00
|
|
|
|
|
|
|
var<private> s : S;
|
|
|
|
|
2022-06-07 13:55:34 +00:00
|
|
|
@compute @workgroup_size(1)
|
2021-07-23 16:44:52 +00:00
|
|
|
fn f() {
|
|
|
|
result.out = s.data[ubo.dynamic_idx];
|
|
|
|
}
|