From: Chris Duncan Date: Sat, 18 Jan 2025 02:54:04 +0000 (-0800) Subject: Inline remaining m[sigma] additions. X-Git-Tag: v2.0.0~19 X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=6ba24b0a5c3e21f1049d24ff95d49da984634662;p=nano-pow.git Inline remaining m[sigma] additions. --- diff --git a/src/shaders/compute.wgsl b/src/shaders/compute.wgsl index 50ccc2f..556caa3 100644 --- a/src/shaders/compute.wgsl +++ b/src/shaders/compute.wgsl @@ -882,8 +882,7 @@ fn main(id: vec3) { /** * r=6, i=4, a=v[0], b=v[5], c=v[10], d=v[15] */ - v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); + v0 = v0 + v5 + m0 + vec2(0u, u32(v0.x + v5.x < v0.x)) + vec2(0u, u32(v0.x + v5.x + m0.x < v0.x + v5.x)); v15 = v15.yx ^ v0.yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); @@ -914,8 +913,7 @@ fn main(id: vec3) { v13 = v13.yx ^ v2.yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); - v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v2 = v2 + m2 + vec2(0u, u32(v2.x + m2.x < v2.x)); + v2 = v2 + v7 + m2 + vec2(0u, u32(v2.x + v7.x < v2.x)) + vec2(0u, u32(v2.x + v7.x + m2.x < v2.x + v7.x)); v13 = ((v13 ^ v2).xy >> ROTATE_16) | ((v13 ^ v2).yx << ROTATE_16); v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); v7 = ((v7 ^ v8).xy << ROTATE_1) | ((v7 ^ v8).yx >> ROTATE_31); @@ -978,8 +976,7 @@ fn main(id: vec3) { v14 = v14.yx ^ v2.yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); - v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v2 = v2 + m1 + vec2(0u, u32(v2.x + m1.x < v2.x)); + v2 = v2 + v6 + m1 + vec2(0u, u32(v2.x + v6.x < v2.x)) + vec2(0u, u32(v2.x +v6.x + m1.x < v2.x + v6.x)); v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); @@ -1005,8 +1002,7 @@ fn main(id: vec3) { v15 = v15.yx ^ v0.yx; v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); v5 = ((v5 ^ v10).xy >> ROTATE_24) | ((v5 ^ v10).yx << ROTATE_8); - v0 = v0 + v5 + vec2(0u, u32(v0.x + v5.x < v0.x)); - v0 = v0 + m0 + vec2(0u, u32(v0.x + m0.x < v0.x)); + v0 = v0 + v5 + m0 + vec2(0u, u32(v0.x + v5.x < v0.x)) + vec2(0u, u32(v0.x + v5.x + m0.x < v0.x + v5.x)); v15 = ((v15 ^ v0).xy >> ROTATE_16) | ((v15 ^ v0).yx << ROTATE_16); v10 = v10 + v15 + vec2(0u, u32(v10.x + v15.x < v10.x)); v5 = ((v5 ^ v10).xy << ROTATE_1) | ((v5 ^ v10).yx >> ROTATE_31); @@ -1019,8 +1015,7 @@ fn main(id: vec3) { v12 = v12.yx ^ v1.yx; v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); v6 = ((v6 ^ v11).xy >> ROTATE_24) | ((v6 ^ v11).yx << ROTATE_8); - v1 = v1 + v6 + vec2(0u, u32(v1.x + v6.x < v1.x)); - v1 = v1 + m4 + vec2(0u, u32(v1.x + m4.x < v1.x)); + v1 = v1 + v6 + m4 + vec2(0u, u32(v1.x + v6.x < v1.x)) + vec2(0u, u32(v1.x + v6.x + m4.x < v1.x + v6.x)); v12 = ((v12 ^ v1).xy >> ROTATE_16) | ((v12 ^ v1).yx << ROTATE_16); v11 = v11 + v12 + vec2(0u, u32(v11.x + v12.x < v11.x)); v6 = ((v6 ^ v11).xy << ROTATE_1) | ((v6 ^ v11).yx >> ROTATE_31); @@ -1042,8 +1037,7 @@ fn main(id: vec3) { /** * r=7, i=7, a=v[3], b=v[4], c=v[9], d=v[14] */ - v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v3 = v3 + m2 + vec2(0u, u32(v3.x + m2.x < v3.x)); + v3 = v3 + v4 + m2 + vec2(0u, u32(v3.x + v4.x < v3.x)) + vec2(0u, u32(v3.x + v4.x + m2.x < v3.x + v4.x)); v14 = v14.yx ^ v3.yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); @@ -1097,8 +1091,7 @@ fn main(id: vec3) { v14 = v14.yx ^ v2.yx; v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); v6 = ((v6 ^ v10).xy >> ROTATE_24) | ((v6 ^ v10).yx << ROTATE_8); - v2 = v2 + v6 + vec2(0u, u32(v2.x + v6.x < v2.x)); - v2 = v2 + m3 + vec2(0u, u32(v2.x + m3.x < v2.x)); + v2 = v2 + v6 + m3 + vec2(0u, u32(v2.x + v6.x < v2.x)) + vec2(0u, u32(v2.x + v6.x + m3.x < v2.x + v6.x)); v14 = ((v14 ^ v2).xy >> ROTATE_16) | ((v14 ^ v2).yx << ROTATE_16); v10 = v10 + v14 + vec2(0u, u32(v10.x + v14.x < v10.x)); v6 = ((v6 ^ v10).xy << ROTATE_1) | ((v6 ^ v10).yx >> ROTATE_31); @@ -1106,8 +1099,7 @@ fn main(id: vec3) { /** * r=8, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ - v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v3 = v3 + m0 + vec2(0u, u32(v3.x + m0.x < v3.x)); + v3 = v3 + v7 + m0 + vec2(0u, u32(v3.x + v7.x < v3.x)) + vec2(0u, u32(v3.x + v7.x + m0.x < v3.x + v7.x)); v15 = v15.yx ^ v3.yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); @@ -1221,8 +1213,7 @@ fn main(id: vec3) { /** * r=9, i=3, a=v[3], b=v[7], c=v[11], d=v[15] */ - v3 = v3 + v7 + vec2(0u, u32(v3.x + v7.x < v3.x)); - v3 = v3 + m1 + vec2(0u, u32(v3.x + m1.x < v3.x)); + v3 = v3 + v7 + m1 + vec2(0u, u32(v3.x + v7.x < v3.x)) + vec2(0u, u32(v3.x + v7.x + m1.x < v3.x + v7.x)); v15 = v15.yx ^ v3.yx; v11 = v11 + v15 + vec2(0u, u32(v11.x + v15.x < v11.x)); v7 = ((v7 ^ v11).xy >> ROTATE_24) | ((v7 ^ v11).yx << ROTATE_8); @@ -1263,8 +1254,7 @@ fn main(id: vec3) { /** * r=9, i=6, a=v[2], b=v[7], c=v[8], d=v[13] */ - v2 = v2 + v7 + vec2(0u, u32(v2.x + v7.x < v2.x)); - v2 = v2 + m3 + vec2(0u, u32(v2.x + m3.x < v2.x)); + v2 = v2 + v7 + m3 + vec2(0u, u32(v2.x + v7.x < v2.x)) + vec2(0u, u32(v2.x + v7.x + m3.x < v2.x + v7.x)); v13 = v13.yx ^ v2.yx; v8 = v8 + v13 + vec2(0u, u32(v8.x + v13.x < v8.x)); v7 = ((v7 ^ v8).xy >> ROTATE_24) | ((v7 ^ v8).yx << ROTATE_8); @@ -1282,8 +1272,7 @@ fn main(id: vec3) { v14 = v14.yx ^ v3.yx; v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); v4 = ((v4 ^ v9).xy >> ROTATE_24) | ((v4 ^ v9).yx << ROTATE_8); - v3 = v3 + v4 + vec2(0u, u32(v3.x + v4.x < v3.x)); - v3 = v3 + m0 + vec2(0u, u32(v3.x + m0.x < v3.x)); + v3 = v3 + v4 + m0 + vec2(0u, u32(v3.x + v4.x < v3.x)) + vec2(0u, u32(v3.x + v4.x + m0.x < v3.x + v4.x)); v14 = ((v14 ^ v3).xy >> ROTATE_16) | ((v14 ^ v3).yx << ROTATE_16); v9 = v9 + v14 + vec2(0u, u32(v9.x + v14.x < v9.x)); v4 = ((v4 ^ v9).xy << ROTATE_1) | ((v4 ^ v9).yx >> ROTATE_31);