blob: 86835483e80a2c39f8355714645f3bb2a999651e [file] [log] [blame]
# 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 two_vec4 "two_vec4"
group array_writes "array_writes"
case as_float_vec3-2_float
version 440 core
desc "Write fragment output 0 as float and vec3, output 1 as float and 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) ];
output vec4 out1 = [ vec4(52.0, 8.0, 44.0, 4.0) | vec4(16.0, 52.0, 32.0, 12.0) | vec4(28.0, 20.0, 4.0, 48.0) | vec4(56.0, 60.0, 44.0, 4.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;
layout(location = 1) out vec4 var1;
void main()
{
var0 = in0 + in0;
var1 = in0 + in0 + in0 + in0;
${VERTEX_OUTPUT}
}
""
fragment ""
#version 440 core
precision highp float;
precision highp int;
layout(location = 0) in vec4 var0;
layout(location = 1) in vec4 var1;
layout(location = 0, component = 0) out float dEQP_FragColor_0_0;
layout(location = 0, component = 1) out vec3 dEQP_FragColor_0_1[2];
layout(location = 1, component = 0) out float dEQP_FragColor_1_0;
void main()
{
vec4 out0 = var0;
out0 /= vec4(255.0);
dEQP_FragColor_0_0 = out0.x;
dEQP_FragColor_0_1[0] = out0.yzw;
vec4 out1 = var1;
out1 /= vec4(255.0);
dEQP_FragColor_1_0 = out1.x;
dEQP_FragColor_0_1[1] = out1.yzw;
}
""
end
case as_vec3-2_float_float
version 440 core
desc "Write fragment output 0 as vec3 and float, output 1 as vec3 and 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) ];
output vec4 out1 = [ vec4(52.0, 8.0, 44.0, 4.0) | vec4(16.0, 52.0, 32.0, 12.0) | vec4(28.0, 20.0, 4.0, 48.0) | vec4(56.0, 60.0, 44.0, 4.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;
layout(location = 1) out vec4 var1;
void main()
{
var0 = in0 + in0;
var1 = in0 + in0 + in0 + in0;
${VERTEX_OUTPUT}
}
""
fragment ""
#version 440 core
precision highp float;
precision highp int;
layout(location = 0) in vec4 var0;
layout(location = 1) in vec4 var1;
layout(location = 0, component = 0) out vec3 dEQP_FragColor_0_0[2];
layout(location = 0, component = 3) out float dEQP_FragColor_0_3;
layout(location = 1, component = 3) out float dEQP_FragColor_1_3;
void main()
{
vec4 out0 = var0;
out0 /= vec4(255.0);
dEQP_FragColor_0_0[0] = out0.xyz;
dEQP_FragColor_0_3 = out0.w;
vec4 out1 = var1;
out1 /= vec4(255.0);
dEQP_FragColor_0_0[1] = out1.xyz;
dEQP_FragColor_1_3 = out1.w;
}
""
end
case as_vec2_vec2-2_vec2
version 440 core
desc "Write fragment output 0 as two vec2, output 1 as two 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) ];
output vec4 out1 = [ vec4(52.0, 8.0, 44.0, 4.0) | vec4(16.0, 52.0, 32.0, 12.0) | vec4(28.0, 20.0, 4.0, 48.0) | vec4(56.0, 60.0, 44.0, 4.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;
layout(location = 1) out vec4 var1;
void main()
{
var0 = in0 + in0;
var1 = in0 + in0 + in0 + in0;
${VERTEX_OUTPUT}
}
""
fragment ""
#version 440 core
precision highp float;
precision highp int;
layout(location = 0) in vec4 var0;
layout(location = 1) in vec4 var1;
layout(location = 0, component = 0) out vec2 dEQP_FragColor_0_0;
layout(location = 0, component = 2) out vec2 dEQP_FragColor_0_2[2];
layout(location = 1, component = 0) out vec2 dEQP_FragColor_1_0;
void main()
{
vec4 out0 = var0;
out0 /= vec4(255.0);
dEQP_FragColor_0_0 = out0.xy;
dEQP_FragColor_0_2[0] = out0.zw;
vec4 out1 = var1;
out1 /= vec4(255.0);
dEQP_FragColor_1_0 = out1.xy;
dEQP_FragColor_0_2[1] = out1.zw;
}
""
end
case as_vec2-2_vec2_vec2
version 440 core
desc "Write fragment output 0 as two vec2, output 1 as two 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) ];
output vec4 out1 = [ vec4(52.0, 8.0, 44.0, 4.0) | vec4(16.0, 52.0, 32.0, 12.0) | vec4(28.0, 20.0, 4.0, 48.0) | vec4(56.0, 60.0, 44.0, 4.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;
layout(location = 1) out vec4 var1;
void main()
{
var0 = in0 + in0;
var1 = in0 + in0 + in0 + in0;
${VERTEX_OUTPUT}
}
""
fragment ""
#version 440 core
precision highp float;
precision highp int;
layout(location = 0) in vec4 var0;
layout(location = 1) in vec4 var1;
layout(location = 0, component = 0) out vec2 dEQP_FragColor_0_0[2];
layout(location = 0, component = 2) out vec2 dEQP_FragColor_0_2;
layout(location = 1, component = 2) out vec2 dEQP_FragColor_1_2;
void main()
{
vec4 out0 = var0;
out0 /= vec4(255.0);
dEQP_FragColor_0_0[0] = out0.xy;
dEQP_FragColor_0_2 = out0.zw;
vec4 out1 = var1;
out1 /= vec4(255.0);
dEQP_FragColor_0_0[1] = out1.xy;
dEQP_FragColor_1_2 = out1.zw;
}
""
end
case as_float_float-2_vec2-2_float
version 440 core
desc "Write fragment output 0 as two floats and vec2, output 1 as two floats and 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) ];
output vec4 out1 = [ vec4(52.0, 8.0, 44.0, 4.0) | vec4(16.0, 52.0, 32.0, 12.0) | vec4(28.0, 20.0, 4.0, 48.0) | vec4(56.0, 60.0, 44.0, 4.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;
layout(location = 1) out vec4 var1;
void main()
{
var0 = in0 + in0;
var1 = in0 + in0 + in0 + in0;
${VERTEX_OUTPUT}
}
""
fragment ""
#version 440 core
precision highp float;
precision highp int;
layout(location = 0) in vec4 var0;
layout(location = 1) in vec4 var1;
layout(location = 0, component = 0) out float dEQP_FragColor_0_0;
layout(location = 0, component = 1) out float dEQP_FragColor_0_1[2];
layout(location = 0, component = 2) out vec2 dEQP_FragColor_0_2[2];
layout(location = 1, component = 0) out float dEQP_FragColor_1_0;
void main()
{
vec4 out0 = var0;
out0 /= vec4(255.0);
dEQP_FragColor_0_0 = out0.x;
dEQP_FragColor_0_1[0] = out0.y;
dEQP_FragColor_0_2[0] = out0.zw;
vec4 out1 = var1;
out1 /= vec4(255.0);
dEQP_FragColor_1_0 = out1.x;
dEQP_FragColor_0_1[1] = out1.y;
dEQP_FragColor_0_2[1] = out1.zw;
}
""
end
case as_float-2_float-2_float-2_float-2_float-2
version 440 core
desc "Write fragment output 0 as four floats, output 1 as four floats."
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) ];
output vec4 out1 = [ vec4(52.0, 8.0, 44.0, 4.0) | vec4(16.0, 52.0, 32.0, 12.0) | vec4(28.0, 20.0, 4.0, 48.0) | vec4(56.0, 60.0, 44.0, 4.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;
layout(location = 1) out vec4 var1;
void main()
{
var0 = in0 + in0;
var1 = in0 + in0 + in0 + in0;
${VERTEX_OUTPUT}
}
""
fragment ""
#version 440 core
precision highp float;
precision highp int;
layout(location = 0) in vec4 var0;
layout(location = 1) in vec4 var1;
layout(location = 0, component = 0) out float dEQP_FragColor_0_0[2];
layout(location = 0, component = 1) out float dEQP_FragColor_0_1[2];
layout(location = 0, component = 2) out float dEQP_FragColor_0_2[2];
layout(location = 0, component = 3) out float dEQP_FragColor_0_3[2];
void main()
{
vec4 out0 = var0;
out0 /= vec4(255.0);
dEQP_FragColor_0_0[0] = out0.x;
dEQP_FragColor_0_1[0] = out0.y;
dEQP_FragColor_0_2[0] = out0.z;
dEQP_FragColor_0_3[0] = out0.w;
vec4 out1 = var1;
out1 /= vec4(255.0);
dEQP_FragColor_0_0[1] = out1.x;
dEQP_FragColor_0_1[1] = out1.y;
dEQP_FragColor_0_2[1] = out1.z;
dEQP_FragColor_0_3[1] = out1.w;
}
""
end
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