From 37c65c6654ae768a91b28389d12ac25cbc376bec Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Tue, 22 Apr 2025 13:48:42 -0700 Subject: [PATCH] Reduce compute shader file size by shrinking doc comments. --- src/lib/gpu/compute.wgsl | 207 +++++++-------------------------------- 1 file changed, 36 insertions(+), 171 deletions(-) diff --git a/src/lib/gpu/compute.wgsl b/src/lib/gpu/compute.wgsl index 17d2298..ba14501 100644 --- a/src/lib/gpu/compute.wgsl +++ b/src/lib/gpu/compute.wgsl @@ -248,316 +248,181 @@ fn main(id: vec3, validate: bool) { * due to the lack of both a native rotate function and 64-bit support in WGSL. */ - /**************************************************************************** - * ROUND(0) * - ****************************************************************************/ - /** - * r=0, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=0, m[sigma+1]=1 - * r=0, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=2, m[sigma+1]=3 - * r=0, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=4, m[sigma+1]=5 - * r=0, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=6, m[sigma+1]=7 + * ROUND(0) + * m[sigma]=(0,1),(2,3),(4,5),(6,7) + * m[sigma]=(8,9),(10,11),(12,13),(14,15) */ G(&v0, &v4, &v8, &vC, m0, m1); G(&v1, &v5, &v9, &vD, m2, m3); G(&v2, &v6, &vA, &vE, m4, Z); G(&v3, &v7, &vB, &vF, Z, Z); - /** - * r=0, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=8, m[sigma+1]=9 - * r=0, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=10, m[sigma+1]=11 - * r=0, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=12, m[sigma+1]=13 - * r=0, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=14, m[sigma+1]=15 - */ G(&v0, &v5, &vA, &vF, Z, Z); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, Z, Z); G(&v3, &v4, &v9, &vE, Z, Z); - /**************************************************************************** - * ROUND(1) * - ****************************************************************************/ - /** - * r=1, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=14, m[sigma+1]=10 - * r=1, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=4, m[sigma+1]=8 - * r=1, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=9, m[sigma+1]=15 - * r=1, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=13, m[sigma+1]=6 + * ROUND(1) + * m[sigma]=(14,10),(4,8),(9,15),(13,6) + * m[sigma]=(1,12),(0,2),(11,7),(5,3) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, m4, Z); G(&v2, &v6, &vA, &vE, Z, Z); G(&v3, &v7, &vB, &vF, Z, Z); - /** - * r=1, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=1, m[sigma+1]=12 - * r=1, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=0, m[sigma+1]=2 - * r=1, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=11, m[sigma+1]=7 - * r=1, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=5, m[sigma+1]=3 - */ G(&v0, &v5, &vA, &vF, m1, Z); G(&v1, &v6, &vB, &vC, m0, m2); G(&v2, &v7, &v8, &vD, Z, Z); G(&v3, &v4, &v9, &vE, Z, m3); - /**************************************************************************** - * ROUND(2) * - ****************************************************************************/ - /** - * r=2, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=11, m[sigma+1]=8 - * r=2, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=12, m[sigma+1]=0 - * r=2, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=5, m[sigma+1]=2 - * r=2, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=15, m[sigma+1]=13 + * ROUND(2) + * m[sigma]=(11,8),(12,0),(5,2),(15,13) + * m[sigma]=(10,14),(3,6),(7,1),(9,4) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, Z, m0); G(&v2, &v6, &vA, &vE, Z, m2); G(&v3, &v7, &vB, &vF, Z, Z); - /** - * r=2, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=10, m[sigma+1]=14 - * r=2, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=3, m[sigma+1]=6 - * r=2, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=7, m[sigma+1]=1 - * r=2, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=9, m[sigma+1]=4 - */ G(&v0, &v5, &vA, &vF, Z, Z); G(&v1, &v6, &vB, &vC, m3, Z); G(&v2, &v7, &v8, &vD, Z, m1); G(&v3, &v4, &v9, &vE, Z, m4); - /**************************************************************************** - * ROUND(3) * - ****************************************************************************/ - /** - * r=3, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=7, m[sigma+1]=9 - * r=3, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=3, m[sigma+1]=1 - * r=3, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=13, m[sigma+1]=12 - * r=3, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=11, m[sigma+1]=14 + * ROUND(3) + * m[sigma]=(7,9),(3,1),(13,12),(11,14) + * m[sigma]=(2,6),(5,10),(4,0),(15,8) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, m3, m1); G(&v2, &v6, &vA, &vE, Z, Z); G(&v3, &v7, &vB, &vF, Z, Z); - /** - * r=3, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=2, m[sigma+1]=6 - * r=3, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=5, m[sigma+1]=10 - * r=3, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=4, m[sigma+1]=0 - * r=3, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=15, m[sigma+1]=8 - */ G(&v0, &v5, &vA, &vF, m2, Z); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, m4, m0); G(&v3, &v4, &v9, &vE, Z, Z); - /**************************************************************************** - * ROUND(4) * - ****************************************************************************/ - /** - * r=4, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=9, m[sigma+1]=0 - * r=4, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=5, m[sigma+1]=7 - * r=4, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=2, m[sigma+1]=4 - * r=4, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=10, m[sigma+1]=15 + * ROUND(4) + * m[sigma]=(9,0),(5,7),(2,4),(10,15) + * m[sigma]=(14,1),(11,12),(6,8),(3,13) */ G(&v0, &v4, &v8, &vC, Z, m0); G(&v1, &v5, &v9, &vD, Z, Z); G(&v2, &v6, &vA, &vE, m2, m4); G(&v3, &v7, &vB, &vF, Z, Z); - /** - */ - - /** - * r=4, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=14, m[sigma+1]=1 - * r=4, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=11, m[sigma+1]=12 - * r=4, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=6, m[sigma+1]=8 - * r=4, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=3, m[sigma+1]=13 - */ G(&v0, &v5, &vA, &vF, Z, m1); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, Z, Z); G(&v3, &v4, &v9, &vE, m3, Z); - /**************************************************************************** - * ROUND(5) * - ****************************************************************************/ - /** - * r=5, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=2, m[sigma+1]=12 - * r=5, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=6, m[sigma+1]=10 - * r=5, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=0, m[sigma+1]=11 - * r=5, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=8, m[sigma+1]=3 + * ROUND(5) + * m[sigma]=(2,12),(6,10),(0,11),(8,3) + * m[sigma]=(4,13),(7,5),(15,14),(1,9) */ G(&v0, &v4, &v8, &vC, m2, Z); G(&v1, &v5, &v9, &vD, Z, Z); G(&v2, &v6, &vA, &vE, m0, Z); G(&v3, &v7, &vB, &vF, Z, m3); - /** - * r=5, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=4, m[sigma+1]=13 - * r=5, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=7, m[sigma+1]=5 - * r=5, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=15, m[sigma+1]=14 - * r=5, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=1, m[sigma+1]=9 - */ G(&v0, &v5, &vA, &vF, m4, Z); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, Z, Z); G(&v3, &v4, &v9, &vE, m1, Z); - /**************************************************************************** - * ROUND(6) * - ****************************************************************************/ - /** - * r=6, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=12, m[sigma+1]=5 - * r=6, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=1, m[sigma+1]=15 - * r=6, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=14, m[sigma+1]=13 - * r=6, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=4, m[sigma+1]=10 + * ROUND(6) + * m[sigma]=(12,5),(1,15),(14,13),(4,10) + * m[sigma]=(0,7),(6,3),(9,2),(8,11) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, m1, Z); G(&v2, &v6, &vA, &vE, Z, Z); G(&v3, &v7, &vB, &vF, m4, Z); - /** - * r=6, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=0, m[sigma+1]=7 - * r=6, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=6, m[sigma+1]=3 - * r=6, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=9, m[sigma+1]=2 - * r=6, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=8, m[sigma+1]=11 - */ G(&v0, &v5, &vA, &vF, m0, Z); G(&v1, &v6, &vB, &vC, Z, m3); G(&v2, &v7, &v8, &vD, Z, m2); G(&v3, &v4, &v9, &vE, Z, Z); - /**************************************************************************** - * ROUND(7) * - ****************************************************************************/ - /** - * r=7, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=13, m[sigma+1]=11 - * r=7, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=7, m[sigma+1]=14 - * r=7, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=12, m[sigma+1]=1 - * r=7, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=3, m[sigma+1]=9 + * ROUND(7) + * m[sigma]=(13,11),(7,14),(12,1),(3,9) + * m[sigma]=(5,0),(15,4),(8,6),(2,10) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, Z, Z); G(&v2, &v6, &vA, &vE, Z, m1); G(&v3, &v7, &vB, &vF, m3, Z); - /** - * r=7, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=5, m[sigma+1]=0 - * r=7, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=15, m[sigma+1]=4 - * r=7, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=8, m[sigma+1]=6 - * r=7, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=2, m[sigma+1]=10 - */ G(&v0, &v5, &vA, &vF, Z, m0); G(&v1, &v6, &vB, &vC, Z, m4); G(&v2, &v7, &v8, &vD, Z, Z); G(&v3, &v4, &v9, &vE, m2, Z); - /**************************************************************************** - * ROUND(8) * - ****************************************************************************/ - /** - * r=8, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=6, m[sigma+1]=15 - * r=8, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=14, m[sigma+1]=9 - * r=8, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=11, m[sigma+1]=3 - * r=8, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=0, m[sigma+1]=8 + * ROUND(8) + * m[sigma]=(6,15),(14,9),(11,3),(0,8) + * m[sigma]=(12,2),(13,7),(1,4),(10,5) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, Z, Z); G(&v2, &v6, &vA, &vE, Z, m3); G(&v3, &v7, &vB, &vF, m0, Z); - /** - * r=8, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=12, m[sigma+1]=2 - * r=8, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=13, m[sigma+1]=7 - * r=8, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=1, m[sigma+1]=4 - * r=8, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=10, m[sigma+1]=5 - */ G(&v0, &v5, &vA, &vF, Z, m2); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, m1, m4); G(&v3, &v4, &v9, &vE, Z, Z); - /**************************************************************************** - * ROUND(9) * - ****************************************************************************/ - /** - * r=9, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=10, m[sigma+1]=2 - * r=9, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=8, m[sigma+1]=4 - * r=9, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=7, m[sigma+1]=6 - * r=9, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=1, m[sigma+1]=5 + * ROUND(9) + * m[sigma]=(10,2),(8,4),(7,6),(1,5) + * m[sigma]=(15,11),(9,14),(3,12),(13,0) */ G(&v0, &v4, &v8, &vC, Z, m2); G(&v1, &v5, &v9, &vD, Z, m4); G(&v2, &v6, &vA, &vE, Z, Z); G(&v3, &v7, &vB, &vF, m1, Z); - /** - * r=9, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=15, m[sigma+1]=11 - * r=9, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=9, m[sigma+1]=14 - * r=9, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=3, m[sigma+1]=12 - * r=9, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=13, m[sigma+1]=0 - */ G(&v0, &v5, &vA, &vF, Z, Z); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, m3, Z); G(&v3, &v4, &v9, &vE, Z, m0); - /**************************************************************************** - * ROUND(10) * - ****************************************************************************/ - /** - * r=10, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=0, m[sigma+1]=1 - * r=10, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=2, m[sigma+1]=3 - * r=10, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=4, m[sigma+1]=5 - * r=10, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=6, m[sigma+1]=7 + * ROUND(10) + * m[sigma]=(0,1),(2,3),(4,5),(6,7) + * m[sigma]=(8,9),(10,11),(12,13),(14,15) */ G(&v0, &v4, &v8, &vC, m0, m1); G(&v1, &v5, &v9, &vD, m2, m3); G(&v2, &v6, &vA, &vE, m4, Z); G(&v3, &v7, &vB, &vF, Z, Z); - /** - * r=10, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=8, m[sigma+1]=9 - * r=10, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=10, m[sigma+1]=11 - * r=10, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=12, m[sigma+1]=13 - * r=10, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=14, m[sigma+1]=15 - */ G(&v0, &v5, &vA, &vF, Z, Z); G(&v1, &v6, &vB, &vC, Z, Z); G(&v2, &v7, &v8, &vD, Z, Z); G(&v3, &v4, &v9, &vE, Z, Z); - /**************************************************************************** - * ROUND(11) * - ****************************************************************************/ - /** - * r=11, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=14, m[sigma+1]=10 - * r=11, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=4, m[sigma+1]=8 - * r=11, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=9, m[sigma+1]=15 - * r=11, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=13, m[sigma+1]=6 + * ROUND(11) + * m[sigma]=(14,10),(4,8),(9,15),(13,6) + * m[sigma]=(1,12),(0,2),(11,7),(5,3) */ G(&v0, &v4, &v8, &vC, Z, Z); G(&v1, &v5, &v9, &vD, m4, Z); G(&v2, &v6, &vA, &vE, Z, Z); G(&v3, &v7, &vB, &vF, Z, Z); - /** - * r=11, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=1, m[sigma+1]=12 - * r=11, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=0, m[sigma+1]=2 - * r=11, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=11, m[sigma+1]=7 - * r=11, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=5, m[sigma+1]=3 - */ G(&v0, &v5, &vA, &vF, m1, Z); // G(&v1, &v6, &vB, &vC, m0, m2); G(&v2, &v7, &v8, &vD, Z, Z); -- 2.34.1