((workgroup_id.z & 0xff) << 8) |
(local_id.x & 0xff);
var m: array<u32, 16>;
- m[0u] = 0u;
+ m[0u] = id;
m[1u] = id;
m[2u] = ubo.blockhash[0u].x;
m[3u] = ubo.blockhash[0u].y;
/**
* Iterate and hash until nonce found
*/
- for (var j: u32 = 0u; j < 1u; j = j + 1u) {
+ for (var j: u32 = id; j < id + 1u; j = j + 1u) {
if (atomicLoad(&work.found) != 0u) {
return;
}
// Store the result directly into work array
if ((BLAKE2B_IV32_1 ^ v[1u] ^ v[17u]) > ubo.threshold) {
atomicStore(&work.found, 1u);
- work.nonce.x = j;
- work.nonce.y = id;
+ work.nonce.x = id;
+ work.nonce.y = j;
return;
}
}