Overview

Hardware tgl
Architecture m64
Status fail
Matches Expectations Indicates whether the test status matches the status that CI expects for the test
fail
Time 0.068252

See also historical results for this test.

stdout

/tmp/build_root/m64/lib/piglit/bin/ext_transform_feedback-structs struct-array-elem run interface -auto -fbo
piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching 4.6 context

Probe color at (0,0)
  Expected: 0 255 0 255
  Observed: 0 0 0 0
Vertex shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) DIR Blk { flat TYPE NAME; } blk
#define VARYING(NAME) blk.NAME
struct S { ivec4[2] a; uint[4] b; vec3[3] c; };
in vec4 pos;
DECLARE_VARYING(out, S, v);
void main()
{
  gl_Position = pos;
  for (int i = 0; i < 4; i++) {
    if (i < 2) VARYING(v).a[i] = ivec4(100, 200, 300, 400) + i;
    if (i < 4) VARYING(v).b[i] = 500u + uint(i);
    if (i < 3) VARYING(v).c[i] = vec3(600.0, 700.0, 800.0) + float(i);
  }
}

Fragment shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) DIR Blk { flat TYPE NAME; } blk
#define VARYING(NAME) blk.NAME
struct S { ivec4[2] a; uint[4] b; vec3[3] c; };
DECLARE_VARYING(in, S, v);
out vec4 color;
void main()
{
  bool pass = true;
  for (int i = 0; i < 3; i++) {
    if (i < 2 && VARYING(v).a[i] != ivec4(100, 200, 300, 400) + i) pass = false;
    if (i < 4 && VARYING(v).b[i] != 500u + uint(i)) pass = false;
    if (i < 3 && VARYING(v).c[i] != vec3(600.0, 700.0, 800.0) + float(i)) pass = false;
  }
  if (pass)
    color = vec4(0.0, 1.0, 0.0, 1.0);
  else
    color = vec4(1.0, 0.0, 0.0, 1.0);
}

stderr

XXX: resource creation failed


pid: [779119]
start time: 1616771924.4782734
end time: 1616771924.5465252