Skip to content

Instantly share code, notes, and snippets.

@sebbbi
Last active December 23, 2018 18:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebbbi/f1a66ae009aa4a5609edc3a63076bea3 to your computer and use it in GitHub Desktop.
Save sebbbi/f1a66ae009aa4a5609edc3a63076bea3 to your computer and use it in GitHub Desktop.
Let's improve this
int i13;
i13 = 0;
for (;i13<3;)
{
int i14;
i14 = 0;
for (;i14<3;)
{
uvec3 v15;
v15.x = 0u;
v15.y = uint(i14);
v15.z = uint(i13);
uvec3 v16;
v16.xyz = (gl_LocalInvocationID+v15);
uint u17;
u17 = MaskLDS.Inner[int(v16.z)].Inner[int(v16.y)].Inner[int(v16.x)];
uint u18;
u18 = (u17&1023u);
uint u19;
u19 = ((u18>0u))?(1u):(0u);
uint u20;
u20 = (u4|u19);
u4 = u20;
uint u21;
u21 = ((u17>>10u)&4095u);
uint u22;
u22 = ((u21>0u))?(4u):(0u);
uint u23;
u23 = (u20|u22);
u4 = u23;
uint u24;
u24 = ((u17>>22u)&1023u);
uint u25;
u25 = ((u24>0u))?(8u):(0u);
u4 = (u23|u25);
uvec3 v26;
v26.x = 1u;
v26.y = uint(i14);
v26.z = uint(i13);
uvec3 v27;
v27.xyz = (gl_LocalInvocationID+v26);
uint u28;
u28 = MaskLDS.Inner[int(v27.z)].Inner[int(v27.y)].Inner[int(v27.x)];
uint u29;
u29 = (u28&1023u);
uint u30;
u30 = ((u29>0u))?(1u):(0u);
uint u31;
u31 = (u4|u30);
u4 = u31;
uint u32;
u32 = ((u28>>10u)&4095u);
uint u33;
u33 = ((u32>0u))?(4u):(0u);
uint u34;
u34 = (u31|u33);
u4 = u34;
uint u35;
u35 = ((u28>>22u)&1023u);
uint u36;
u36 = ((u35>0u))?(8u):(0u);
u4 = (u34|u36);
uvec3 v37;
v37.x = 2u;
v37.y = uint(i14);
v37.z = uint(i13);
uvec3 v38;
v38.xyz = (gl_LocalInvocationID+v37);
uint u39;
u39 = MaskLDS.Inner[int(v38.z)].Inner[int(v38.y)].Inner[int(v38.x)];
uint u40;
u40 = (u39&1023u);
uint u41;
u41 = ((u40>0u))?(1u):(0u);
uint u42;
u42 = (u4|u41);
u4 = u42;
uint u43;
u43 = ((u39>>10u)&4095u);
uint u44;
u44 = ((u43>0u))?(4u):(0u);
uint u45;
u45 = (u42|u44);
u4 = u45;
uint u46;
u46 = ((u39>>22u)&1023u);
uint u47;
u47 = ((u46>0u))?(8u):(0u);
u4 = (u45|u47);
i14 = (i14+1);
}
i13 = (i13+1);
}
SO MUCH BETTER:
int i14;
i14 = 0;
for (;i14<3;)
{
uvec3 v15;
v15.x = 0u;
v15.y = 0u;
v15.z = uint(i14);
uvec3 v16;
v16.xyz = (gl_LocalInvocationID+v15);
u4 = (u4|MaskLDS.Inner[int(v16.z)].Inner[int(v16.y)].Inner[int(v16.x)]);
uvec3 v17;
v17.x = 1u;
v17.y = 0u;
v17.z = uint(i14);
uvec3 v18;
v18.xyz = (gl_LocalInvocationID+v17);
u4 = (u4|MaskLDS.Inner[int(v18.z)].Inner[int(v18.y)].Inner[int(v18.x)]);
uvec3 v19;
v19.x = 2u;
v19.y = 0u;
v19.z = uint(i14);
uvec3 v20;
v20.xyz = (gl_LocalInvocationID+v19);
u4 = (u4|MaskLDS.Inner[int(v20.z)].Inner[int(v20.y)].Inner[int(v20.x)]);
uvec3 v21;
v21.x = 0u;
v21.y = 1u;
v21.z = uint(i14);
uvec3 v22;
v22.xyz = (gl_LocalInvocationID+v21);
u4 = (u4|MaskLDS.Inner[int(v22.z)].Inner[int(v22.y)].Inner[int(v22.x)]);
uvec3 v23;
v23.x = 1u;
v23.y = 1u;
v23.z = uint(i14);
uvec3 v24;
v24.xyz = (gl_LocalInvocationID+v23);
u4 = (u4|MaskLDS.Inner[int(v24.z)].Inner[int(v24.y)].Inner[int(v24.x)]);
uvec3 v25;
v25.x = 2u;
v25.y = 1u;
v25.z = uint(i14);
uvec3 v26;
v26.xyz = (gl_LocalInvocationID+v25);
u4 = (u4|MaskLDS.Inner[int(v26.z)].Inner[int(v26.y)].Inner[int(v26.x)]);
uvec3 v27;
v27.x = 0u;
v27.y = 2u;
v27.z = uint(i14);
uvec3 v28;
v28.xyz = (gl_LocalInvocationID+v27);
u4 = (u4|MaskLDS.Inner[int(v28.z)].Inner[int(v28.y)].Inner[int(v28.x)]);
uvec3 v29;
v29.x = 1u;
v29.y = 2u;
v29.z = uint(i14);
uvec3 v30;
v30.xyz = (gl_LocalInvocationID+v29);
u4 = (u4|MaskLDS.Inner[int(v30.z)].Inner[int(v30.y)].Inner[int(v30.x)]);
uvec3 v31;
v31.x = 2u;
v31.y = 2u;
v31.z = uint(i14);
uvec3 v32;
v32.xyz = (gl_LocalInvocationID+v31);
u4 = (u4|MaskLDS.Inner[int(v32.z)].Inner[int(v32.y)].Inner[int(v32.x)]);
i14 = (i14+1);
}
uint u33;
u33 = (u4&1023u);
uint u34;
u34 = ((u33>0u))?(1u):(0u);
uint u35;
u35 = (u13|u34);
uint u36;
u36 = ((u4>>10u)&4095u);
uint u37;
u37 = ((u36>0u))?(4u):(0u);
uint u38;
u38 = (u35|u37);
uint u39;
u39 = ((u4>>22u)&1023u);
uint u40;
u40 = ((u39>0u))?(8u):(0u);
uint u41;
u41 = (u38|u40);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment