--- /dev/null
+
+# Varying tests
+group varying "Varying linkage"
+ group component "Component qualifier"
+ group vert_in "Vertex shader input"
+ group vec2 "vec2"
+ case as_float_float
+ version 440 core
+ desc "Read vertex input (vec2) as float float."
+ output_color vec2
+ values
+ {
+ input vec2 in0 = [ vec2(1.0, 11.0) | vec2(1.0, 9.0) | vec2(13.0, 7.0) | vec2(8.0, 3.0) ];
+ output vec2 out0 = [ vec2(2.0, 22.0) | vec2(2.0, 18.0) | vec2(26.0, 14.0) | vec2(16.0, 6.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in float in0_1;
+ layout(location = 0) out vec2 var0;
+
+ void main()
+ {
+ vec2 in0 = vec2(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec2 var0;
+ layout(location = 0) out vec2 dEQP_FragColor;
+
+ void main()
+ {
+ vec2 out0 = var0;
+ out0 /= vec2(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_float_unused
+ version 440 core
+ desc "Read vertex input (vec2) as float float. Read unused fourth component."
+ output_color vec2
+ values
+ {
+ input vec2 in0 = [ vec2(1.0, 11.0) | vec2(1.0, 9.0) | vec2(13.0, 7.0) | vec2(8.0, 3.0) ];
+ output vec2 out0 = [ vec2(2.0, 22.0) | vec2(2.0, 18.0) | vec2(26.0, 14.0) | vec2(16.0, 6.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in float in0_1;
+ layout(location = 1, component = 3) in float in0_3;
+ layout(location = 0) out vec2 var0;
+
+ void main()
+ {
+ vec2 in0 = vec2(in0_0, in0_1);
+ var0 = in0_3 * in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec2 var0;
+ layout(location = 0) out vec2 dEQP_FragColor;
+
+ void main()
+ {
+ vec2 out0 = var0;
+ out0 /= vec2(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group vec3 "vec3"
+ case as_float_float_float
+ version 440 core
+ desc "Read vertex input (vec3) as float float float."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in float in0_1;
+ layout(location = 1, component = 2) in float in0_2;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ vec3 in0 = vec3(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_float_float_unused
+ version 440 core
+ desc "Read vertex input (vec3) as float float float. Read unused fourth component."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in float in0_1;
+ layout(location = 1, component = 2) in float in0_2;
+ layout(location = 1, component = 3) in float in0_3;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ vec3 in0 = vec3(in0_0, in0_1, in0_2);
+ var0 = in0_3 * in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec2
+ version 440 core
+ desc "Read vertex input (vec3) as float vec2."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in vec2 in0_1;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ vec3 in0 = vec3(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec2_unused
+ version 440 core
+ desc "Read vertex input (vec3) as float vec2. Read unused fourth component."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in vec2 in0_1;
+ layout(location = 1, component = 3) in float in0_3;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ vec3 in0 = vec3(in0_0, in0_1);
+ var0 = in0_3 * in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_float
+ version 440 core
+ desc "Read vertex input (vec3) as vec2 float."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in vec2 in0_0;
+ layout(location = 1, component = 2) in float in0_1;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ vec3 in0 = vec3(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_float_unused
+ version 440 core
+ desc "Read vertex input (vec3) as vec2 float. Read unused fourth component."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in vec2 in0_0;
+ layout(location = 1, component = 2) in float in0_1;
+ layout(location = 1, component = 3) in float in0_3;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ vec3 in0 = vec3(in0_0, in0_1);
+ var0 = in0_3 * in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group vec4 "vec4"
+ case as_float_float_float_float
+ version 440 core
+ desc "Read vertex input (vec4) as float float float float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in float in0_1;
+ layout(location = 1, component = 2) in float in0_2;
+ layout(location = 1, component = 3) in float in0_3;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1, in0_2, in0_3);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_float_vec2
+ version 440 core
+ desc "Read vertex input (vec4) as float float vec2."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in float in0_1;
+ layout(location = 1, component = 2) in vec2 in0_2;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec2_float
+ version 440 core
+ desc "Read vertex input (vec4) as float vec2 float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in vec2 in0_1;
+ layout(location = 1, component = 3) in float in0_2;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec3
+ version 440 core
+ desc "Read vertex input (vec4) as float vec3."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in float in0_0;
+ layout(location = 1, component = 1) in vec3 in0_1;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_float_float
+ version 440 core
+ desc "Read vertex input (vec4) as vec2 float float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in vec2 in0_0;
+ layout(location = 1, component = 2) in float in0_1;
+ layout(location = 1, component = 3) in float in0_2;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_vec2
+ version 440 core
+ desc "Read vertex input (vec4) as vec2 vec2."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in vec2 in0_0;
+ layout(location = 1, component = 2) in vec2 in0_1;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec3_float
+ version 440 core
+ desc "Read vertex input (vec4) as vec3 float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in vec3 in0_0;
+ layout(location = 1, component = 3) in float in0_1;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ vec4 in0 = vec4(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group ivec2 "ivec2"
+ case as_int_int
+ version 440 core
+ desc "Read vertex input (ivec2) as int int."
+ output_color ivec2
+ values
+ {
+ input ivec2 in0 = [ ivec2(7, 13) | ivec2(9, 7) | ivec2(13, 1) | ivec2(15, 11) ];
+ output ivec2 out0 = [ ivec2(14, 26) | ivec2(18, 14) | ivec2(26, 2) | ivec2(30, 22) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in int in0_0;
+ layout(location = 1, component = 1) in int in0_1;
+ layout(location = 0) out ivec2 var0;
+
+ void main()
+ {
+ ivec2 in0 = ivec2(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec2 var0;
+ layout(location = 0) out ivec2 dEQP_FragColor;
+
+ void main()
+ {
+ ivec2 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_int_unused
+ version 440 core
+ desc "Read vertex input (ivec2) as int int. Read unused fourth component."
+ output_color ivec2
+ values
+ {
+ input ivec2 in0 = [ ivec2(7, 13) | ivec2(9, 7) | ivec2(13, 1) | ivec2(15, 11) ];
+ output ivec2 out0 = [ ivec2(14, 26) | ivec2(18, 14) | ivec2(26, 2) | ivec2(30, 22) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in int in0_0;
+ layout(location = 1, component = 1) in int in0_1;
+ layout(location = 1, component = 3) in int in0_3;
+ layout(location = 0) out ivec2 var0;
+
+ void main()
+ {
+ ivec2 in0 = ivec2(in0_0, in0_1);
+ var0 = in0_3 * in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec2 var0;
+ layout(location = 0) out ivec2 dEQP_FragColor;
+
+ void main()
+ {
+ ivec2 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group ivec4 "ivec4"
+ case as_int_int_int_int
+ version 440 core
+ desc "Read vertex input (ivec4) as int int int int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in int in0_0;
+ layout(location = 1, component = 1) in int in0_1;
+ layout(location = 1, component = 2) in int in0_2;
+ layout(location = 1, component = 3) in int in0_3;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1, in0_2, in0_3);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_int_ivec2
+ version 440 core
+ desc "Read vertex input (ivec4) as int int ivec2."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in int in0_0;
+ layout(location = 1, component = 1) in int in0_1;
+ layout(location = 1, component = 2) in ivec2 in0_2;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_ivec2_int
+ version 440 core
+ desc "Read vertex input (ivec4) as int ivec2 int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in int in0_0;
+ layout(location = 1, component = 1) in ivec2 in0_1;
+ layout(location = 1, component = 3) in int in0_2;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_ivec3
+ version 440 core
+ desc "Read vertex input (ivec4) as int ivec3."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in int in0_0;
+ layout(location = 1, component = 1) in ivec3 in0_1;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_ivec2_int_int
+ version 440 core
+ desc "Read vertex input (ivec4) as ivec2 int int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in ivec2 in0_0;
+ layout(location = 1, component = 2) in int in0_1;
+ layout(location = 1, component = 3) in int in0_2;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1, in0_2);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_ivec2_ivec2
+ version 440 core
+ desc "Read vertex input (ivec4) as ivec2 ivec2."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in ivec2 in0_0;
+ layout(location = 1, component = 2) in ivec2 in0_1;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_ivec3_int
+ version 440 core
+ desc "Read vertex input (ivec4) as ivec3 int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1, component = 0) in ivec3 in0_0;
+ layout(location = 1, component = 3) in int in0_1;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ ivec4 in0 = ivec4(in0_0, in0_1);
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ end
+ group vert_out_frag_in "Vertex shader output and fragment shader input"
+ group vec2 "vec2"
+ case as_float_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec2) as float float."
+ output_color vec2
+ values
+ {
+ input vec2 in0 = [ vec2(1.0, 11.0) | vec2(1.0, 9.0) | vec2(13.0, 7.0) | vec2(8.0, 3.0) ];
+ output vec2 out0 = [ vec2(2.0, 22.0) | vec2(2.0, 18.0) | vec2(26.0, 14.0) | vec2(16.0, 6.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec2 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out float var0_1;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in float var0_1;
+ layout(location = 0) out vec2 dEQP_FragColor;
+
+ void main()
+ {
+ vec2 var0 = vec2(var0_0, var0_1);
+ vec2 out0 = var0;
+ out0 /= vec2(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group vec3 "vec3"
+ case as_float_float_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec3) as float float float."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec3 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out float var0_1;
+ layout(location = 0, component = 2) out float var0_2;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ var0_2 = in0.z + in0.z;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in float var0_1;
+ layout(location = 0, component = 2) in float var0_2;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 var0 = vec3(var0_0, var0_1, var0_2);
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec2
+ version 440 core
+ desc "Write vertex output and read fragment input (vec3) as float vec2."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec3 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out vec2 var0_1;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.yz + in0.yz;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in vec2 var0_1;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 var0 = vec3(var0_0, var0_1);
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec3) as vec2 float."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec3 in0;
+ layout(location = 0, component = 0) out vec2 var0_0;
+ layout(location = 0, component = 2) out float var0_1;
+
+ void main()
+ {
+ var0_0 = in0.xy + in0.xy;
+ var0_1 = in0.z + in0.z;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in vec2 var0_0;
+ layout(location = 0, component = 2) in float var0_1;
+ layout(location = 0) out vec3 dEQP_FragColor;
+
+ void main()
+ {
+ vec3 var0 = vec3(var0_0, var0_1);
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group vec4 "vec4"
+ case as_float_float_float_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as float float float float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out float var0_1;
+ layout(location = 0, component = 2) out float var0_2;
+ layout(location = 0, component = 3) out float var0_3;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ var0_2 = in0.z + in0.z;
+ var0_3 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in float var0_1;
+ layout(location = 0, component = 2) in float var0_2;
+ layout(location = 0, component = 3) in float var0_3;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1, var0_2, var0_3);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_float_vec2
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as float float vec2."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out float var0_1;
+ layout(location = 0, component = 2) out vec2 var0_2;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ var0_2 = in0.zw + in0.zw;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in float var0_1;
+ layout(location = 0, component = 2) in vec2 var0_2;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1, var0_2);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec2_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as float vec2 float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out vec2 var0_1;
+ layout(location = 0, component = 3) out float var0_2;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.yz + in0.yz;
+ var0_2 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in vec2 var0_1;
+ layout(location = 0, component = 3) in float var0_2;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1, var0_2);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_float_vec3
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as float vec3."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out float var0_0;
+ layout(location = 0, component = 1) out vec3 var0_1;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.yzw + in0.yzw;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in float var0_0;
+ layout(location = 0, component = 1) in vec3 var0_1;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_float_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as vec2 float float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out vec2 var0_0;
+ layout(location = 0, component = 2) out float var0_1;
+ layout(location = 0, component = 3) out float var0_2;
+
+ void main()
+ {
+ var0_0 = in0.xy + in0.xy;
+ var0_1 = in0.z + in0.z;
+ var0_2 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in vec2 var0_0;
+ layout(location = 0, component = 2) in float var0_1;
+ layout(location = 0, component = 3) in float var0_2;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1, var0_2);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec2_vec2
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as vec2 vec2."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out vec2 var0_0;
+ layout(location = 0, component = 2) out vec2 var0_1;
+
+ void main()
+ {
+ var0_0 = in0.xy + in0.xy;
+ var0_1 = in0.zw + in0.zw;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in vec2 var0_0;
+ layout(location = 0, component = 2) in vec2 var0_1;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_vec3_float
+ version 440 core
+ desc "Write vertex output and read fragment input (vec4) as vec3 float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0, component = 0) out vec3 var0_0;
+ layout(location = 0, component = 3) out float var0_1;
+
+ void main()
+ {
+ var0_0 = in0.xyz + in0.xyz;
+ var0_1 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) in vec3 var0_0;
+ layout(location = 0, component = 3) in float var0_1;
+ layout(location = 0) out vec4 dEQP_FragColor;
+
+ void main()
+ {
+ vec4 var0 = vec4(var0_0, var0_1);
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group ivec2 "ivec2"
+ case as_int_int
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec2) as int int."
+ output_color ivec2
+ values
+ {
+ input ivec2 in0 = [ ivec2(7, 13) | ivec2(9, 7) | ivec2(13, 1) | ivec2(15, 11) ];
+ output ivec2 out0 = [ ivec2(14, 26) | ivec2(18, 14) | ivec2(26, 2) | ivec2(30, 22) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec2 in0;
+ layout(location = 0, component = 0) out int var0_0;
+ layout(location = 0, component = 1) out int var0_1;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in int var0_0;
+ layout(location = 0, component = 1) flat in int var0_1;
+ layout(location = 0) out ivec2 dEQP_FragColor;
+
+ void main()
+ {
+ ivec2 var0 = ivec2(var0_0, var0_1);
+ ivec2 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ group ivec4 "ivec4"
+ case as_int_int_int_int
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as int int int int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out int var0_0;
+ layout(location = 0, component = 1) out int var0_1;
+ layout(location = 0, component = 2) out int var0_2;
+ layout(location = 0, component = 3) out int var0_3;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ var0_2 = in0.z + in0.z;
+ var0_3 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in int var0_0;
+ layout(location = 0, component = 1) flat in int var0_1;
+ layout(location = 0, component = 2) flat in int var0_2;
+ layout(location = 0, component = 3) flat in int var0_3;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1, var0_2, var0_3);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_int_ivec2
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as int int ivec2."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out int var0_0;
+ layout(location = 0, component = 1) out int var0_1;
+ layout(location = 0, component = 2) out ivec2 var0_2;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.y + in0.y;
+ var0_2 = in0.zw + in0.zw;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in int var0_0;
+ layout(location = 0, component = 1) flat in int var0_1;
+ layout(location = 0, component = 2) flat in ivec2 var0_2;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1, var0_2);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_ivec2_int
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as int ivec2 int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out int var0_0;
+ layout(location = 0, component = 1) out ivec2 var0_1;
+ layout(location = 0, component = 3) out int var0_2;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.yz + in0.yz;
+ var0_2 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in int var0_0;
+ layout(location = 0, component = 1) flat in ivec2 var0_1;
+ layout(location = 0, component = 3) flat in int var0_2;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1, var0_2);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_int_ivec3
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as int ivec3."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out int var0_0;
+ layout(location = 0, component = 1) out ivec3 var0_1;
+
+ void main()
+ {
+ var0_0 = in0.x + in0.x;
+ var0_1 = in0.yzw + in0.yzw;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in int var0_0;
+ layout(location = 0, component = 1) flat in ivec3 var0_1;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_ivec2_int_int
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as ivec2 int int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out ivec2 var0_0;
+ layout(location = 0, component = 2) out int var0_1;
+ layout(location = 0, component = 3) out int var0_2;
+
+ void main()
+ {
+ var0_0 = in0.xy + in0.xy;
+ var0_1 = in0.z + in0.z;
+ var0_2 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in ivec2 var0_0;
+ layout(location = 0, component = 2) flat in int var0_1;
+ layout(location = 0, component = 3) flat in int var0_2;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1, var0_2);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_ivec2_ivec2
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as ivec2 ivec2."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out ivec2 var0_0;
+ layout(location = 0, component = 2) out ivec2 var0_1;
+
+ void main()
+ {
+ var0_0 = in0.xy + in0.xy;
+ var0_1 = in0.zw + in0.zw;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in ivec2 var0_0;
+ layout(location = 0, component = 2) flat in ivec2 var0_1;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ case as_ivec3_int
+ version 440 core
+ desc "Write vertex output and read fragment input (ivec4) as ivec3 int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0, component = 0) out ivec3 var0_0;
+ layout(location = 0, component = 3) out int var0_1;
+
+ void main()
+ {
+ var0_0 = in0.xyz + in0.xyz;
+ var0_1 = in0.w + in0.w;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0, component = 0) flat in ivec3 var0_0;
+ layout(location = 0, component = 3) flat in int var0_1;
+ layout(location = 0) out ivec4 dEQP_FragColor;
+
+ void main()
+ {
+ ivec4 var0 = ivec4(var0_0, var0_1);
+ ivec4 out0 = var0;
+ dEQP_FragColor = out0;
+ }
+ ""
+ end
+ end
+ end
+ group frag_out "Fragment shader output"
+ group vec2 "vec2"
+ case as_float_float
+ version 440 core
+ desc "Write fragment output (vec2) as float float."
+ output_color vec2
+ values
+ {
+ input vec2 in0 = [ vec2(1.0, 11.0) | vec2(1.0, 9.0) | vec2(13.0, 7.0) | vec2(8.0, 3.0) ];
+ output vec2 out0 = [ vec2(2.0, 22.0) | vec2(2.0, 18.0) | vec2(26.0, 14.0) | vec2(16.0, 6.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec2 in0;
+ layout(location = 0) out vec2 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec2 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out float dEQP_FragColor_1;
+
+ void main()
+ {
+ vec2 out0 = var0;
+ out0 /= vec2(255.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ }
+ ""
+ end
+ end
+ group vec3 "vec3"
+ case as_float_float_float
+ version 440 core
+ desc "Write fragment output (vec3) as float float float."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec3 in0;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out float dEQP_FragColor_1;
+ layout(location = 0, component = 2) out float dEQP_FragColor_2;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ dEQP_FragColor_2 = out0.z;
+ }
+ ""
+ end
+ case as_float_vec2
+ version 440 core
+ desc "Write fragment output (vec3) as float vec2."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec3 in0;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out vec2 dEQP_FragColor_1;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.yz;
+ }
+ ""
+ end
+ case as_vec2_float
+ version 440 core
+ desc "Write fragment output (vec3) as vec2 float."
+ output_color vec3
+ values
+ {
+ input vec3 in0 = [ vec3(6.0, 8.0, 7.0) | vec3(14.0, 10.0, 15.0) | vec3(9.0, 5.0, 4.0) | vec3(7.0, 3.0, 1.0) ];
+ output vec3 out0 = [ vec3(12.0, 16.0, 14.0) | vec3(28.0, 20.0, 30.0) | vec3(18.0, 10.0, 8.0) | vec3(14.0, 6.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec3 in0;
+ layout(location = 0) out vec3 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec3 var0;
+ layout(location = 0, component = 0) out vec2 dEQP_FragColor_0;
+ layout(location = 0, component = 2) out float dEQP_FragColor_1;
+
+ void main()
+ {
+ vec3 out0 = var0;
+ out0 /= vec3(31.0, 63.0, 31.0);
+ dEQP_FragColor_0 = out0.xy;
+ dEQP_FragColor_1 = out0.z;
+ }
+ ""
+ end
+ end
+ group vec4 "vec4"
+ case as_float_float_float_float
+ version 440 core
+ desc "Write fragment output (vec4) as float float float float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out float dEQP_FragColor_1;
+ layout(location = 0, component = 2) out float dEQP_FragColor_2;
+ layout(location = 0, component = 3) out float dEQP_FragColor_3;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ dEQP_FragColor_2 = out0.z;
+ dEQP_FragColor_3 = out0.w;
+ }
+ ""
+ end
+ case as_float_float_vec2
+ version 440 core
+ desc "Write fragment output (vec4) as float float vec2."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out float dEQP_FragColor_1;
+ layout(location = 0, component = 2) out vec2 dEQP_FragColor_2;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ dEQP_FragColor_2 = out0.zw;
+ }
+ ""
+ end
+ case as_float_vec2_float
+ version 440 core
+ desc "Write fragment output (vec4) as float vec2 float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out vec2 dEQP_FragColor_1;
+ layout(location = 0, component = 3) out float dEQP_FragColor_2;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.yz;
+ dEQP_FragColor_2 = out0.w;
+ }
+ ""
+ end
+ case as_float_vec3
+ version 440 core
+ desc "Write fragment output (vec4) as float vec3."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out float dEQP_FragColor_0;
+ layout(location = 0, component = 1) out vec3 dEQP_FragColor_1;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.yzw;
+ }
+ ""
+ end
+ case as_vec2_float_float
+ version 440 core
+ desc "Write fragment output (vec4) as vec2 float float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out vec2 dEQP_FragColor_0;
+ layout(location = 0, component = 2) out float dEQP_FragColor_1;
+ layout(location = 0, component = 3) out float dEQP_FragColor_2;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.xy;
+ dEQP_FragColor_1 = out0.z;
+ dEQP_FragColor_2 = out0.w;
+ }
+ ""
+ end
+ case as_vec2_vec2
+ version 440 core
+ desc "Write fragment output (vec4) as vec2 vec2."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out vec2 dEQP_FragColor_0;
+ layout(location = 0, component = 2) out vec2 dEQP_FragColor_1;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.xy;
+ dEQP_FragColor_1 = out0.zw;
+ }
+ ""
+ end
+ case as_vec3_float
+ version 440 core
+ desc "Write fragment output (vec4) as vec3 float."
+ output_color vec4
+ values
+ {
+ input vec4 in0 = [ vec4(13.0, 2.0, 11.0, 1.0) | vec4(4.0, 13.0, 8.0, 3.0) | vec4(7.0, 5.0, 1.0, 12.0) | vec4(14.0, 15.0, 11.0, 1.0) ];
+ output vec4 out0 = [ vec4(26.0, 4.0, 22.0, 2.0) | vec4(8.0, 26.0, 16.0, 6.0) | vec4(14.0, 10.0, 2.0, 24.0) | vec4(28.0, 30.0, 22.0, 2.0) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in vec4 in0;
+ layout(location = 0) out vec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 var0;
+ layout(location = 0, component = 0) out vec3 dEQP_FragColor_0;
+ layout(location = 0, component = 3) out float dEQP_FragColor_1;
+
+ void main()
+ {
+ vec4 out0 = var0;
+ out0 /= vec4(255.0);
+ dEQP_FragColor_0 = out0.xyz;
+ dEQP_FragColor_1 = out0.w;
+ }
+ ""
+ end
+ end
+ group ivec2 "ivec2"
+ case as_int_int
+ version 440 core
+ desc "Write fragment output (ivec2) as int int."
+ output_color ivec2
+ values
+ {
+ input ivec2 in0 = [ ivec2(7, 13) | ivec2(9, 7) | ivec2(13, 1) | ivec2(15, 11) ];
+ output ivec2 out0 = [ ivec2(14, 26) | ivec2(18, 14) | ivec2(26, 2) | ivec2(30, 22) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec2 in0;
+ layout(location = 0) out ivec2 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec2 var0;
+ layout(location = 0, component = 0) out int dEQP_FragColor_0;
+ layout(location = 0, component = 1) out int dEQP_FragColor_1;
+
+ void main()
+ {
+ ivec2 out0 = var0;
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ }
+ ""
+ end
+ end
+ group ivec4 "ivec4"
+ case as_int_int_int_int
+ version 440 core
+ desc "Write fragment output (ivec4) as int int int int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out int dEQP_FragColor_0;
+ layout(location = 0, component = 1) out int dEQP_FragColor_1;
+ layout(location = 0, component = 2) out int dEQP_FragColor_2;
+ layout(location = 0, component = 3) out int dEQP_FragColor_3;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ dEQP_FragColor_2 = out0.z;
+ dEQP_FragColor_3 = out0.w;
+ }
+ ""
+ end
+ case as_int_int_ivec2
+ version 440 core
+ desc "Write fragment output (ivec4) as int int ivec2."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out int dEQP_FragColor_0;
+ layout(location = 0, component = 1) out int dEQP_FragColor_1;
+ layout(location = 0, component = 2) out ivec2 dEQP_FragColor_2;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.y;
+ dEQP_FragColor_2 = out0.zw;
+ }
+ ""
+ end
+ case as_int_ivec2_int
+ version 440 core
+ desc "Write fragment output (ivec4) as int ivec2 int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out int dEQP_FragColor_0;
+ layout(location = 0, component = 1) out ivec2 dEQP_FragColor_1;
+ layout(location = 0, component = 3) out int dEQP_FragColor_2;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.yz;
+ dEQP_FragColor_2 = out0.w;
+ }
+ ""
+ end
+ case as_int_ivec3
+ version 440 core
+ desc "Write fragment output (ivec4) as int ivec3."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out int dEQP_FragColor_0;
+ layout(location = 0, component = 1) out ivec3 dEQP_FragColor_1;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.x;
+ dEQP_FragColor_1 = out0.yzw;
+ }
+ ""
+ end
+ case as_ivec2_int_int
+ version 440 core
+ desc "Write fragment output (ivec4) as ivec2 int int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out ivec2 dEQP_FragColor_0;
+ layout(location = 0, component = 2) out int dEQP_FragColor_1;
+ layout(location = 0, component = 3) out int dEQP_FragColor_2;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.xy;
+ dEQP_FragColor_1 = out0.z;
+ dEQP_FragColor_2 = out0.w;
+ }
+ ""
+ end
+ case as_ivec2_ivec2
+ version 440 core
+ desc "Write fragment output (ivec4) as ivec2 ivec2."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out ivec2 dEQP_FragColor_0;
+ layout(location = 0, component = 2) out ivec2 dEQP_FragColor_1;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.xy;
+ dEQP_FragColor_1 = out0.zw;
+ }
+ ""
+ end
+ case as_ivec3_int
+ version 440 core
+ desc "Write fragment output (ivec4) as ivec3 int."
+ output_color ivec4
+ values
+ {
+ input ivec4 in0 = [ ivec4(2, 4, 13, 12) | ivec4(7, 3, 2, 11) | ivec4(6, 2, 9, 5) | ivec4(10, 15, 1, 9) ];
+ output ivec4 out0 = [ ivec4(4, 8, 26, 24) | ivec4(14, 6, 4, 22) | ivec4(12, 4, 18, 10) | ivec4(20, 30, 2, 18) ];
+ }
+ vertex ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) in vec4 dEQP_Position;
+ layout(location = 1) in ivec4 in0;
+ layout(location = 0) out ivec4 var0;
+
+ void main()
+ {
+ var0 = in0 + in0;
+ ${VERTEX_OUTPUT}
+ }
+ ""
+ fragment ""
+ #version 440 core
+ precision highp float;
+ precision highp int;
+ layout(location = 0) flat in ivec4 var0;
+ layout(location = 0, component = 0) out ivec3 dEQP_FragColor_0;
+ layout(location = 0, component = 3) out int dEQP_FragColor_1;
+
+ void main()
+ {
+ ivec4 out0 = var0;
+ dEQP_FragColor_0 = out0.xyz;
+ dEQP_FragColor_1 = out0.w;
+ }
+ ""
+ end
+ end
+ end
+ end
+end