#version 310 es layout(local_size_x = 1) in; layout(binding = 0, std430) buffer SSBO { vec4 data; int index; }; void main() { // Tests defer-parens behavior where a binary expression is OpCompositeExtracted chained together // with an OpCompositeConstruct optimization. vec4 d = data; data = vec4(d.x, d.yz + 10.0, d.w); // Verify binary ops. data = d + d + d; // Verify swizzles. data = (d.yz + 10.0).xxyy; // OpCompositeExtract float t = (d.yz + 10.0).y; data = vec4(t); // OpVectorExtractDynamic t = (d.zw + 10.0)[index]; data = vec4(t); }