diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/spv.aggOps.frag')
-rw-r--r-- | chromium/third_party/glslang/src/Test/spv.aggOps.frag | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/spv.aggOps.frag b/chromium/third_party/glslang/src/Test/spv.aggOps.frag new file mode 100644 index 00000000000..1a889ffd856 --- /dev/null +++ b/chromium/third_party/glslang/src/Test/spv.aggOps.frag @@ -0,0 +1,51 @@ +#version 450 + +uniform sampler2D samp2D; +in mediump vec2 coord; + +in vec4 u, w; +out vec4 color; + +struct s1 { + int i; + float f; +}; + +struct s2 { + int i; + float f; + s1 s1_1; +}; + +layout(std140) uniform ub1 { s2 foo2a; } uName1; +layout(std430) buffer ub2 { s2 foo2b; } uName2; + +void main() +{ + vec4 v; + s1 a[3], b[3]; + a = s1[3](s1(int(u.x), u.y), s1(int(u.z), u.w), s1(14, 14.0)); + b = s1[3](s1(17, 17.0), s1(int(w.x), w.y), s1(int(w.z), w.w)); + + if (uName1.foo2a == uName2.foo2b) + v = texture(samp2D, coord); + else + v = texture(samp2D, 2.0*coord); + + if (u == v) + v *= 3.0; + + if (u != v) + v *= 4.0; + + if (coord == v.yw) + v *= 5.0; + + if (a == b) + v *= 6.0; + + if (a != b) + v *= 7.0; + + color = v; +} |