• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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