From aaf7485ebacb03fcb3d914d74656933f7e63f797 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Tue, 14 Jan 2025 13:20:37 -0800 Subject: [PATCH] Replace remaining m scalar operations. --- src/shaders/compute.wgsl | 57 ++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/src/shaders/compute.wgsl b/src/shaders/compute.wgsl index a81c023..3ba4727 100644 --- a/src/shaders/compute.wgsl +++ b/src/shaders/compute.wgsl @@ -6322,11 +6322,11 @@ fn main(@builtin(global_invocation_id) id: vec3) { // a = a + m[sigma[r][2*i+0]] - o0 = v6 + m4; - o1 = v7 + m5; - o1 = o1 + select(0u, 1u, o0 < v6); - v6 = o0; - v7 = o1; + v_67.x = v6; + v_67.y = v7; + v_67 = v_67 + vec2(m4, m5) + select(vec2(0u), vec2(0u, 1u), v_67.x + m4 < v_67.x); + v6 = v_67.x; + v7 = v_67.y; // d = rotr64(d ^ a, 32) v_67.x = v6; @@ -6659,11 +6659,11 @@ fn main(@builtin(global_invocation_id) id: vec3) { // a = a + m[sigma[r][2*i+1]] - o0 = v4 + m6; - o1 = v5 + m7; - o1 = o1 + select(0u, 1u, o0 < v4); - v4 = o0; - v5 = o1; + v_45.x = v4; + v_45.y = v5; + v_45 = v_45 + vec2(m6, m7) + select(vec2(0u), vec2(0u, 1u), v_45.x + m6 < v_45.x); + v4 = v_45.x; + v5 = v_45.y; // d = rotr64(d ^ a, 16) v_45.x = v4; @@ -6716,11 +6716,11 @@ fn main(@builtin(global_invocation_id) id: vec3) { // a = a + m[sigma[r][2*i+0]] - o0 = v6 + m0; - o1 = v7 + m1; - o1 = o1 + select(0u, 1u, o0 < v6); - v6 = o0; - v7 = o1; + v_67.x = v6; + v_67.y = v7; + v_67 = v_67 + vec2(m0, m1) + select(vec2(0u), vec2(0u, 1u), v_67.x + m0 < v_67.x); + v6 = v_67.x; + v7 = v_67.y; // d = rotr64(d ^ a, 32) v_67.x = v6; @@ -7454,13 +7454,6 @@ fn main(@builtin(global_invocation_id) id: vec3) { // a = a + m[sigma[r][2*i+1]] // skip since adding 0u does nothing - // o0 = v4 + 0u; - // o1 = v5 + 0u; - // if (v4 > 0xFFFFFFFFu - 0u) { - // o1 = o1 + 1u; - // } - // v4 = o0; - // v5 = o1; // d = rotr64(d ^ a, 16) v_45.x = v4; @@ -7804,11 +7797,11 @@ fn main(@builtin(global_invocation_id) id: vec3) { // a = a + m[sigma[r][2*i+0]] - o0 = v4 + m6; - o1 = v5 + m7; - o1 = o1 + select(0u, 1u, o0 < v4); - v4 = o0; - v5 = o1; + v_45.x = v4; + v_45.y = v5; + v_45 = v_45 + vec2(m6, m7) + select(vec2(0u), vec2(0u, 1u), v_45.x + m6 < v_45.x); + v4 = v_45.x; + v5 = v_45.y; // d = rotr64(d ^ a, 32) v_45.x = v4; @@ -7949,11 +7942,11 @@ fn main(@builtin(global_invocation_id) id: vec3) { // a = a + m[sigma[r][2*i+1]] - o0 = v6 + m0; - o1 = v7 + m1; - o1 = o1 + select(0u, 1u, o0 < v6); - v6 = o0; - v7 = o1; + v_67.x = v6; + v_67.y = v7; + v_67 = v_67 + vec2(m0, m1) + select(vec2(0u), vec2(0u, 1u), v_67.x + m0 < v_67.x); + v6 = v_67.x; + v7 = v_67.y; // d = rotr64(d ^ a, 16) v_67.x = v6; -- 2.34.1