# 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