64 lines
1.2 KiB
Plaintext
64 lines
1.2 KiB
Plaintext
|
#version 450
|
||
|
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
|
||
|
|
||
|
struct M0
|
||
|
{
|
||
|
double v;
|
||
|
dvec2 b[2];
|
||
|
dmat2x3 c;
|
||
|
dmat3x2 d;
|
||
|
};
|
||
|
|
||
|
layout(binding = 0, std430) buffer SSBO0
|
||
|
{
|
||
|
dvec4 a;
|
||
|
M0 m0;
|
||
|
dmat4 b;
|
||
|
} ssbo_0;
|
||
|
|
||
|
layout(binding = 1, std430) buffer SSBO1
|
||
|
{
|
||
|
dmat4 a;
|
||
|
dvec4 b;
|
||
|
M0 m0;
|
||
|
} ssbo_1;
|
||
|
|
||
|
layout(binding = 2, std430) buffer SSBO2
|
||
|
{
|
||
|
double a[4];
|
||
|
dvec2 b[4];
|
||
|
} ssbo_2;
|
||
|
|
||
|
layout(binding = 3, std140) buffer SSBO3
|
||
|
{
|
||
|
double a[4];
|
||
|
dvec2 b[4];
|
||
|
} ssbo_3;
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
ssbo_0.a += dvec4(10.0lf, 20.0lf, 30.0lf, 40.0lf);
|
||
|
ssbo_0.a += dvec4(20.0lf);
|
||
|
dvec4 _40 = ssbo_0.a;
|
||
|
ssbo_0.a = abs(_40);
|
||
|
ssbo_0.a = sign(_40);
|
||
|
ssbo_0.a = floor(_40);
|
||
|
ssbo_0.a = trunc(_40);
|
||
|
ssbo_0.a = round(_40);
|
||
|
ssbo_0.a = roundEven(_40);
|
||
|
ssbo_0.a = ceil(_40);
|
||
|
ssbo_0.a = fract(_40);
|
||
|
ssbo_0.a = mod(_40, dvec4(20.0lf));
|
||
|
ssbo_0.a = mod(_40, _40);
|
||
|
ssbo_0.a = min(_40, _40);
|
||
|
ssbo_0.a = max(_40, _40);
|
||
|
ssbo_0.a = clamp(_40, _40, _40);
|
||
|
ssbo_0.a = mix(_40, _40, _40);
|
||
|
ssbo_0.a = step(_40, _40);
|
||
|
ssbo_0.a = smoothstep(_40, _40, _40);
|
||
|
ssbo_1.b.x += 1.0lf;
|
||
|
ssbo_2.b[0].x += 1.0lf;
|
||
|
ssbo_3.b[0].x += 1.0lf;
|
||
|
}
|
||
|
|