#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 = (ssbo_0.a + dvec4(10.0lf, 20.0lf, 30.0lf, 40.0lf)); ssbo_0.a = (ssbo_0.a + dvec4(20.0lf)); dvec4 a = ssbo_0.a; dmat4 amat = ssbo_0.b; ssbo_0.a = abs(a); ssbo_0.a = sign(a); ssbo_0.a = floor(a); ssbo_0.a = trunc(a); ssbo_0.a = round(a); ssbo_0.a = roundEven(a); ssbo_0.a = ceil(a); ssbo_0.a = fract(a); ssbo_0.a = mod(a, dvec4(20.0lf)); ssbo_0.a = mod(a, a); ssbo_0.a = min(a, a); ssbo_0.a = max(a, a); ssbo_0.a = clamp(a, a, a); ssbo_0.a = mix(a, a, a); ssbo_0.a = step(a, a); ssbo_0.a = smoothstep(a, a, a); bvec4 b = isnan(a); bvec4 c = isinf(a); double f = packDouble2x32(uvec2(10u, 40u)); uvec2 g = unpackDouble2x32(f); double d = length(a); d = distance(a, a); d = dot(a, a); dvec3 e = cross(a.xyz, a.yzw); a = faceforward(a, a, a); a = reflect(a, a); a = refract(a, a, a.x); dmat4 l = dmat4((amat[0] * amat[0]), (amat[1] * amat[1]), (amat[2] * amat[2]), (amat[3] * amat[3])); l = outerProduct(a, a); l = transpose(l); double m = determinant(l); l = inverse(l); bvec4 k = lessThan(a, a); k = lessThanEqual(a, a); k = greaterThan(a, a); k = greaterThanEqual(a, a); }