1#version 310 es 2layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 3 4layout(binding = 0, std430) buffer SSBO0 5{ 6 float a; 7 vec2 b; 8 vec3 c; 9 vec4 d; 10} s0; 11 12layout(binding = 1, std430) buffer SSBO1 13{ 14 float a; 15 vec2 b; 16 vec3 c; 17 vec4 d; 18} s1; 19 20bool and(bool a, bool b) 21{ 22 return !((a && b) || b); 23} 24 25bvec2 and(bvec2 a, bvec2 b) 26{ 27 bvec2 _98 = bvec2(a.x && b.x, a.y && b.y); 28 return not(bvec2(_98.x || b.x, _98.y || b.y)); 29} 30 31bvec3 and(bvec3 a, bvec3 b) 32{ 33 return bvec3(a.x && b.x, a.y && b.y, a.z && b.z); 34} 35 36bvec4 and(bvec4 a, bvec4 b) 37{ 38 return bvec4(a.x && b.x, a.y && b.y, a.z && b.z, a.w && b.w); 39} 40 41void main() 42{ 43 bool param = isinf(s0.a); 44 bool param_1 = isnan(s1.a); 45 bool b0 = and(param, param_1); 46 bvec2 param_2 = isinf(s0.b); 47 bvec2 param_3 = isnan(s1.b); 48 bvec2 b1 = and(param_2, param_3); 49 bvec3 param_4 = isinf(s0.c); 50 bvec3 param_5 = isnan(s1.c); 51 bvec3 b2 = and(param_4, param_5); 52 bvec4 param_6 = isinf(s0.d); 53 bvec4 param_7 = isnan(s1.d); 54 bvec4 b3 = and(param_6, param_7); 55} 56 57