memoryBarrierShared();
barrier();
+ new_val = new_dist[i];
+
for (uint layer = 2; layer <= 256; layer *= 2) {
if ((i & (layer - 1)) == layer - 1) {
new_dist[i] += new_dist[i - (layer / 2)];
memoryBarrierShared();
barrier();
}
- ransdist[base + i] = uvec2(new_val, new_dist[i]);
+ ransdist[base + i] = uvec2(new_dist[i] - new_val, new_val);
}