[Piglit] [PATCH] varying-packing: add arrays of arrays support

Timothy Arceri t_arceri at yahoo.com.au
Wed May 13 05:52:35 PDT 2015


On Tue, 2015-05-12 at 17:34 -0400, Ilia Mirkin wrote:
> Perhaps in the absence of a brave enough soul to look at this, could you
> 

Thanks for the suggestions.

> (a) confirm that the generated shaders don't change at all for the
> non-arrays-of-arrays cases or alternatively post the differences

To be sure I printed the shaders out to file before and after the
change, doing a diff on them shows no differences.

The only tests that I didn't compare were the double tests as the Intel
drive doesn't support them yet and I couldn't get piglit to stop
skipping them.
But there shouldn't be any issue with them.


> (b) post a couple of sample arrays-of-arrays shaders that are
> generated by the new logic

Here are a couple of examples of the new logic in action. The first one
is the best example as it shows how things are handled when not all the
varyings fit in the multidimensional array.

-------------------------------------------------------------------
mat3x2 arrays of arrays
-------------------------------------------------------------------
#version 120
#extension GL_ARB_arrays_of_arrays: enable
varying mat2x3 var000[2][10];
varying mat2x3 var001[1];
varying float var002;
varying float var003;
uniform int i;

void main()
{
  gl_Position = gl_Vertex;
  var000[0][0][0][0] = float(i + 0);
  var000[0][0][0][1] = float(i + 1);
  var000[0][0][0][2] = float(i + 2);
  var000[0][0][1][0] = float(i + 3);
  var000[0][0][1][1] = float(i + 4);
  var000[0][0][1][2] = float(i + 5);
  var000[0][1][0][0] = float(i + 6);
  var000[0][1][0][1] = float(i + 7);
  var000[0][1][0][2] = float(i + 8);
  var000[0][1][1][0] = float(i + 9);
  var000[0][1][1][1] = float(i + 10);
  var000[0][1][1][2] = float(i + 11);
  var000[0][2][0][0] = float(i + 12);
  var000[0][2][0][1] = float(i + 13);
  var000[0][2][0][2] = float(i + 14);
  var000[0][2][1][0] = float(i + 15);
  var000[0][2][1][1] = float(i + 16);
  var000[0][2][1][2] = float(i + 17);
  var000[0][3][0][0] = float(i + 18);
  var000[0][3][0][1] = float(i + 19);
  var000[0][3][0][2] = float(i + 20);
  var000[0][3][1][0] = float(i + 21);
  var000[0][3][1][1] = float(i + 22);
  var000[0][3][1][2] = float(i + 23);
  var000[0][4][0][0] = float(i + 24);
  var000[0][4][0][1] = float(i + 25);
  var000[0][4][0][2] = float(i + 26);
  var000[0][4][1][0] = float(i + 27);
  var000[0][4][1][1] = float(i + 28);
  var000[0][4][1][2] = float(i + 29);
  var000[0][5][0][0] = float(i + 30);
  var000[0][5][0][1] = float(i + 31);
  var000[0][5][0][2] = float(i + 32);
  var000[0][5][1][0] = float(i + 33);
  var000[0][5][1][1] = float(i + 34);
  var000[0][5][1][2] = float(i + 35);
  var000[0][6][0][0] = float(i + 36);
  var000[0][6][0][1] = float(i + 37);
  var000[0][6][0][2] = float(i + 38);
  var000[0][6][1][0] = float(i + 39);
  var000[0][6][1][1] = float(i + 40);
  var000[0][6][1][2] = float(i + 41);
  var000[0][7][0][0] = float(i + 42);
  var000[0][7][0][1] = float(i + 43);
  var000[0][7][0][2] = float(i + 44);
  var000[0][7][1][0] = float(i + 45);
  var000[0][7][1][1] = float(i + 46);
  var000[0][7][1][2] = float(i + 47);
  var000[0][8][0][0] = float(i + 48);
  var000[0][8][0][1] = float(i + 49);
  var000[0][8][0][2] = float(i + 50);
  var000[0][8][1][0] = float(i + 51);
  var000[0][8][1][1] = float(i + 52);
  var000[0][8][1][2] = float(i + 53);
  var000[0][9][0][0] = float(i + 54);
  var000[0][9][0][1] = float(i + 55);
  var000[0][9][0][2] = float(i + 56);
  var000[0][9][1][0] = float(i + 57);
  var000[0][9][1][1] = float(i + 58);
  var000[0][9][1][2] = float(i + 59);
  var000[1][0][0][0] = float(i + 60);
  var000[1][0][0][1] = float(i + 61);
  var000[1][0][0][2] = float(i + 62);
  var000[1][0][1][0] = float(i + 63);
  var000[1][0][1][1] = float(i + 64);
  var000[1][0][1][2] = float(i + 65);
  var000[1][1][0][0] = float(i + 66);
  var000[1][1][0][1] = float(i + 67);
  var000[1][1][0][2] = float(i + 68);
  var000[1][1][1][0] = float(i + 69);
  var000[1][1][1][1] = float(i + 70);
  var000[1][1][1][2] = float(i + 71);
  var000[1][2][0][0] = float(i + 72);
  var000[1][2][0][1] = float(i + 73);
  var000[1][2][0][2] = float(i + 74);
  var000[1][2][1][0] = float(i + 75);
  var000[1][2][1][1] = float(i + 76);
  var000[1][2][1][2] = float(i + 77);
  var000[1][3][0][0] = float(i + 78);
  var000[1][3][0][1] = float(i + 79);
  var000[1][3][0][2] = float(i + 80);
  var000[1][3][1][0] = float(i + 81);
  var000[1][3][1][1] = float(i + 82);
  var000[1][3][1][2] = float(i + 83);
  var000[1][4][0][0] = float(i + 84);
  var000[1][4][0][1] = float(i + 85);
  var000[1][4][0][2] = float(i + 86);
  var000[1][4][1][0] = float(i + 87);
  var000[1][4][1][1] = float(i + 88);
  var000[1][4][1][2] = float(i + 89);
  var000[1][5][0][0] = float(i + 90);
  var000[1][5][0][1] = float(i + 91);
  var000[1][5][0][2] = float(i + 92);
  var000[1][5][1][0] = float(i + 93);
  var000[1][5][1][1] = float(i + 94);
  var000[1][5][1][2] = float(i + 95);
  var000[1][6][0][0] = float(i + 96);
  var000[1][6][0][1] = float(i + 97);
  var000[1][6][0][2] = float(i + 98);
  var000[1][6][1][0] = float(i + 99);
  var000[1][6][1][1] = float(i + 100);
  var000[1][6][1][2] = float(i + 101);
  var000[1][7][0][0] = float(i + 102);
  var000[1][7][0][1] = float(i + 103);
  var000[1][7][0][2] = float(i + 104);
  var000[1][7][1][0] = float(i + 105);
  var000[1][7][1][1] = float(i + 106);
  var000[1][7][1][2] = float(i + 107);
  var000[1][8][0][0] = float(i + 108);
  var000[1][8][0][1] = float(i + 109);
  var000[1][8][0][2] = float(i + 110);
  var000[1][8][1][0] = float(i + 111);
  var000[1][8][1][1] = float(i + 112);
  var000[1][8][1][2] = float(i + 113);
  var000[1][9][0][0] = float(i + 114);
  var000[1][9][0][1] = float(i + 115);
  var000[1][9][0][2] = float(i + 116);
  var000[1][9][1][0] = float(i + 117);
  var000[1][9][1][1] = float(i + 118);
  var000[1][9][1][2] = float(i + 119);
  var001[0][0][0] = float(i + 120);
  var001[0][0][1] = float(i + 121);
  var001[0][0][2] = float(i + 122);
  var001[0][1][0] = float(i + 123);
  var001[0][1][1] = float(i + 124);
  var001[0][1][2] = float(i + 125);
  var002 = float(i + 126);
  var003 = float(i + 127);
}
#version 120
#extension GL_ARB_arrays_of_arrays: enable
varying mat2x3 var000[2][10];
varying mat2x3 var001[1];
varying float var002;
varying float var003;
uniform int i;

void main()
{
  bool failed = false;
  failed = failed || var000[0][0][0][0] != float(i + 0);
  failed = failed || var000[0][0][0][1] != float(i + 1);
  failed = failed || var000[0][0][0][2] != float(i + 2);
  failed = failed || var000[0][0][1][0] != float(i + 3);
  failed = failed || var000[0][0][1][1] != float(i + 4);
  failed = failed || var000[0][0][1][2] != float(i + 5);
  failed = failed || var000[0][1][0][0] != float(i + 6);
  failed = failed || var000[0][1][0][1] != float(i + 7);
  failed = failed || var000[0][1][0][2] != float(i + 8);
  failed = failed || var000[0][1][1][0] != float(i + 9);
  failed = failed || var000[0][1][1][1] != float(i + 10);
  failed = failed || var000[0][1][1][2] != float(i + 11);
  failed = failed || var000[0][2][0][0] != float(i + 12);
  failed = failed || var000[0][2][0][1] != float(i + 13);
  failed = failed || var000[0][2][0][2] != float(i + 14);
  failed = failed || var000[0][2][1][0] != float(i + 15);
  failed = failed || var000[0][2][1][1] != float(i + 16);
  failed = failed || var000[0][2][1][2] != float(i + 17);
  failed = failed || var000[0][3][0][0] != float(i + 18);
  failed = failed || var000[0][3][0][1] != float(i + 19);
  failed = failed || var000[0][3][0][2] != float(i + 20);
  failed = failed || var000[0][3][1][0] != float(i + 21);
  failed = failed || var000[0][3][1][1] != float(i + 22);
  failed = failed || var000[0][3][1][2] != float(i + 23);
  failed = failed || var000[0][4][0][0] != float(i + 24);
  failed = failed || var000[0][4][0][1] != float(i + 25);
  failed = failed || var000[0][4][0][2] != float(i + 26);
  failed = failed || var000[0][4][1][0] != float(i + 27);
  failed = failed || var000[0][4][1][1] != float(i + 28);
  failed = failed || var000[0][4][1][2] != float(i + 29);
  failed = failed || var000[0][5][0][0] != float(i + 30);
  failed = failed || var000[0][5][0][1] != float(i + 31);
  failed = failed || var000[0][5][0][2] != float(i + 32);
  failed = failed || var000[0][5][1][0] != float(i + 33);
  failed = failed || var000[0][5][1][1] != float(i + 34);
  failed = failed || var000[0][5][1][2] != float(i + 35);
  failed = failed || var000[0][6][0][0] != float(i + 36);
  failed = failed || var000[0][6][0][1] != float(i + 37);
  failed = failed || var000[0][6][0][2] != float(i + 38);
  failed = failed || var000[0][6][1][0] != float(i + 39);
  failed = failed || var000[0][6][1][1] != float(i + 40);
  failed = failed || var000[0][6][1][2] != float(i + 41);
  failed = failed || var000[0][7][0][0] != float(i + 42);
  failed = failed || var000[0][7][0][1] != float(i + 43);
  failed = failed || var000[0][7][0][2] != float(i + 44);
  failed = failed || var000[0][7][1][0] != float(i + 45);
  failed = failed || var000[0][7][1][1] != float(i + 46);
  failed = failed || var000[0][7][1][2] != float(i + 47);
  failed = failed || var000[0][8][0][0] != float(i + 48);
  failed = failed || var000[0][8][0][1] != float(i + 49);
  failed = failed || var000[0][8][0][2] != float(i + 50);
  failed = failed || var000[0][8][1][0] != float(i + 51);
  failed = failed || var000[0][8][1][1] != float(i + 52);
  failed = failed || var000[0][8][1][2] != float(i + 53);
  failed = failed || var000[0][9][0][0] != float(i + 54);
  failed = failed || var000[0][9][0][1] != float(i + 55);
  failed = failed || var000[0][9][0][2] != float(i + 56);
  failed = failed || var000[0][9][1][0] != float(i + 57);
  failed = failed || var000[0][9][1][1] != float(i + 58);
  failed = failed || var000[0][9][1][2] != float(i + 59);
  failed = failed || var000[1][0][0][0] != float(i + 60);
  failed = failed || var000[1][0][0][1] != float(i + 61);
  failed = failed || var000[1][0][0][2] != float(i + 62);
  failed = failed || var000[1][0][1][0] != float(i + 63);
  failed = failed || var000[1][0][1][1] != float(i + 64);
  failed = failed || var000[1][0][1][2] != float(i + 65);
  failed = failed || var000[1][1][0][0] != float(i + 66);
  failed = failed || var000[1][1][0][1] != float(i + 67);
  failed = failed || var000[1][1][0][2] != float(i + 68);
  failed = failed || var000[1][1][1][0] != float(i + 69);
  failed = failed || var000[1][1][1][1] != float(i + 70);
  failed = failed || var000[1][1][1][2] != float(i + 71);
  failed = failed || var000[1][2][0][0] != float(i + 72);
  failed = failed || var000[1][2][0][1] != float(i + 73);
  failed = failed || var000[1][2][0][2] != float(i + 74);
  failed = failed || var000[1][2][1][0] != float(i + 75);
  failed = failed || var000[1][2][1][1] != float(i + 76);
  failed = failed || var000[1][2][1][2] != float(i + 77);
  failed = failed || var000[1][3][0][0] != float(i + 78);
  failed = failed || var000[1][3][0][1] != float(i + 79);
  failed = failed || var000[1][3][0][2] != float(i + 80);
  failed = failed || var000[1][3][1][0] != float(i + 81);
  failed = failed || var000[1][3][1][1] != float(i + 82);
  failed = failed || var000[1][3][1][2] != float(i + 83);
  failed = failed || var000[1][4][0][0] != float(i + 84);
  failed = failed || var000[1][4][0][1] != float(i + 85);
  failed = failed || var000[1][4][0][2] != float(i + 86);
  failed = failed || var000[1][4][1][0] != float(i + 87);
  failed = failed || var000[1][4][1][1] != float(i + 88);
  failed = failed || var000[1][4][1][2] != float(i + 89);
  failed = failed || var000[1][5][0][0] != float(i + 90);
  failed = failed || var000[1][5][0][1] != float(i + 91);
  failed = failed || var000[1][5][0][2] != float(i + 92);
  failed = failed || var000[1][5][1][0] != float(i + 93);
  failed = failed || var000[1][5][1][1] != float(i + 94);
  failed = failed || var000[1][5][1][2] != float(i + 95);
  failed = failed || var000[1][6][0][0] != float(i + 96);
  failed = failed || var000[1][6][0][1] != float(i + 97);
  failed = failed || var000[1][6][0][2] != float(i + 98);
  failed = failed || var000[1][6][1][0] != float(i + 99);
  failed = failed || var000[1][6][1][1] != float(i + 100);
  failed = failed || var000[1][6][1][2] != float(i + 101);
  failed = failed || var000[1][7][0][0] != float(i + 102);
  failed = failed || var000[1][7][0][1] != float(i + 103);
  failed = failed || var000[1][7][0][2] != float(i + 104);
  failed = failed || var000[1][7][1][0] != float(i + 105);
  failed = failed || var000[1][7][1][1] != float(i + 106);
  failed = failed || var000[1][7][1][2] != float(i + 107);
  failed = failed || var000[1][8][0][0] != float(i + 108);
  failed = failed || var000[1][8][0][1] != float(i + 109);
  failed = failed || var000[1][8][0][2] != float(i + 110);
  failed = failed || var000[1][8][1][0] != float(i + 111);
  failed = failed || var000[1][8][1][1] != float(i + 112);
  failed = failed || var000[1][8][1][2] != float(i + 113);
  failed = failed || var000[1][9][0][0] != float(i + 114);
  failed = failed || var000[1][9][0][1] != float(i + 115);
  failed = failed || var000[1][9][0][2] != float(i + 116);
  failed = failed || var000[1][9][1][0] != float(i + 117);
  failed = failed || var000[1][9][1][1] != float(i + 118);
  failed = failed || var000[1][9][1][2] != float(i + 119);
  failed = failed || var001[0][0][0] != float(i + 120);
  failed = failed || var001[0][0][1] != float(i + 121);
  failed = failed || var001[0][0][2] != float(i + 122);
  failed = failed || var001[0][1][0] != float(i + 123);
  failed = failed || var001[0][1][1] != float(i + 124);
  failed = failed || var001[0][1][2] != float(i + 125);
  failed = failed || var002 != float(i + 126);
  failed = failed || var003 != float(i + 127);
  if (failed)
    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
  else
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}





---------------------------------------------------------------------------
vec2 arrays of arrays
---------------------------------------------------------------------------
#version 110
#extension GL_ARB_arrays_of_arrays: enable
varying vec2 var000[2][32];
uniform int i;

void main()
{
  gl_Position = gl_Vertex;
  var000[0][0][0] = float(i + 0);
  var000[0][0][1] = float(i + 1);
  var000[0][1][0] = float(i + 2);
  var000[0][1][1] = float(i + 3);
  var000[0][2][0] = float(i + 4);
  var000[0][2][1] = float(i + 5);
  var000[0][3][0] = float(i + 6);
  var000[0][3][1] = float(i + 7);
  var000[0][4][0] = float(i + 8);
  var000[0][4][1] = float(i + 9);
  var000[0][5][0] = float(i + 10);
  var000[0][5][1] = float(i + 11);
  var000[0][6][0] = float(i + 12);
  var000[0][6][1] = float(i + 13);
  var000[0][7][0] = float(i + 14);
  var000[0][7][1] = float(i + 15);
  var000[0][8][0] = float(i + 16);
  var000[0][8][1] = float(i + 17);
  var000[0][9][0] = float(i + 18);
  var000[0][9][1] = float(i + 19);
  var000[0][10][0] = float(i + 20);
  var000[0][10][1] = float(i + 21);
  var000[0][11][0] = float(i + 22);
  var000[0][11][1] = float(i + 23);
  var000[0][12][0] = float(i + 24);
  var000[0][12][1] = float(i + 25);
  var000[0][13][0] = float(i + 26);
  var000[0][13][1] = float(i + 27);
  var000[0][14][0] = float(i + 28);
  var000[0][14][1] = float(i + 29);
  var000[0][15][0] = float(i + 30);
  var000[0][15][1] = float(i + 31);
  var000[0][16][0] = float(i + 32);
  var000[0][16][1] = float(i + 33);
  var000[0][17][0] = float(i + 34);
  var000[0][17][1] = float(i + 35);
  var000[0][18][0] = float(i + 36);
  var000[0][18][1] = float(i + 37);
  var000[0][19][0] = float(i + 38);
  var000[0][19][1] = float(i + 39);
  var000[0][20][0] = float(i + 40);
  var000[0][20][1] = float(i + 41);
  var000[0][21][0] = float(i + 42);
  var000[0][21][1] = float(i + 43);
  var000[0][22][0] = float(i + 44);
  var000[0][22][1] = float(i + 45);
  var000[0][23][0] = float(i + 46);
  var000[0][23][1] = float(i + 47);
  var000[0][24][0] = float(i + 48);
  var000[0][24][1] = float(i + 49);
  var000[0][25][0] = float(i + 50);
  var000[0][25][1] = float(i + 51);
  var000[0][26][0] = float(i + 52);
  var000[0][26][1] = float(i + 53);
  var000[0][27][0] = float(i + 54);
  var000[0][27][1] = float(i + 55);
  var000[0][28][0] = float(i + 56);
  var000[0][28][1] = float(i + 57);
  var000[0][29][0] = float(i + 58);
  var000[0][29][1] = float(i + 59);
  var000[0][30][0] = float(i + 60);
  var000[0][30][1] = float(i + 61);
  var000[0][31][0] = float(i + 62);
  var000[0][31][1] = float(i + 63);
  var000[1][0][0] = float(i + 64);
  var000[1][0][1] = float(i + 65);
  var000[1][1][0] = float(i + 66);
  var000[1][1][1] = float(i + 67);
  var000[1][2][0] = float(i + 68);
  var000[1][2][1] = float(i + 69);
  var000[1][3][0] = float(i + 70);
  var000[1][3][1] = float(i + 71);
  var000[1][4][0] = float(i + 72);
  var000[1][4][1] = float(i + 73);
  var000[1][5][0] = float(i + 74);
  var000[1][5][1] = float(i + 75);
  var000[1][6][0] = float(i + 76);
  var000[1][6][1] = float(i + 77);
  var000[1][7][0] = float(i + 78);
  var000[1][7][1] = float(i + 79);
  var000[1][8][0] = float(i + 80);
  var000[1][8][1] = float(i + 81);
  var000[1][9][0] = float(i + 82);
  var000[1][9][1] = float(i + 83);
  var000[1][10][0] = float(i + 84);
  var000[1][10][1] = float(i + 85);
  var000[1][11][0] = float(i + 86);
  var000[1][11][1] = float(i + 87);
  var000[1][12][0] = float(i + 88);
  var000[1][12][1] = float(i + 89);
  var000[1][13][0] = float(i + 90);
  var000[1][13][1] = float(i + 91);
  var000[1][14][0] = float(i + 92);
  var000[1][14][1] = float(i + 93);
  var000[1][15][0] = float(i + 94);
  var000[1][15][1] = float(i + 95);
  var000[1][16][0] = float(i + 96);
  var000[1][16][1] = float(i + 97);
  var000[1][17][0] = float(i + 98);
  var000[1][17][1] = float(i + 99);
  var000[1][18][0] = float(i + 100);
  var000[1][18][1] = float(i + 101);
  var000[1][19][0] = float(i + 102);
  var000[1][19][1] = float(i + 103);
  var000[1][20][0] = float(i + 104);
  var000[1][20][1] = float(i + 105);
  var000[1][21][0] = float(i + 106);
  var000[1][21][1] = float(i + 107);
  var000[1][22][0] = float(i + 108);
  var000[1][22][1] = float(i + 109);
  var000[1][23][0] = float(i + 110);
  var000[1][23][1] = float(i + 111);
  var000[1][24][0] = float(i + 112);
  var000[1][24][1] = float(i + 113);
  var000[1][25][0] = float(i + 114);
  var000[1][25][1] = float(i + 115);
  var000[1][26][0] = float(i + 116);
  var000[1][26][1] = float(i + 117);
  var000[1][27][0] = float(i + 118);
  var000[1][27][1] = float(i + 119);
  var000[1][28][0] = float(i + 120);
  var000[1][28][1] = float(i + 121);
  var000[1][29][0] = float(i + 122);
  var000[1][29][1] = float(i + 123);
  var000[1][30][0] = float(i + 124);
  var000[1][30][1] = float(i + 125);
  var000[1][31][0] = float(i + 126);
  var000[1][31][1] = float(i + 127);
}
#version 110
#extension GL_ARB_arrays_of_arrays: enable
varying vec2 var000[2][32];
uniform int i;

void main()
{
  bool failed = false;
  failed = failed || var000[0][0][0] != float(i + 0);
  failed = failed || var000[0][0][1] != float(i + 1);
  failed = failed || var000[0][1][0] != float(i + 2);
  failed = failed || var000[0][1][1] != float(i + 3);
  failed = failed || var000[0][2][0] != float(i + 4);
  failed = failed || var000[0][2][1] != float(i + 5);
  failed = failed || var000[0][3][0] != float(i + 6);
  failed = failed || var000[0][3][1] != float(i + 7);
  failed = failed || var000[0][4][0] != float(i + 8);
  failed = failed || var000[0][4][1] != float(i + 9);
  failed = failed || var000[0][5][0] != float(i + 10);
  failed = failed || var000[0][5][1] != float(i + 11);
  failed = failed || var000[0][6][0] != float(i + 12);
  failed = failed || var000[0][6][1] != float(i + 13);
  failed = failed || var000[0][7][0] != float(i + 14);
  failed = failed || var000[0][7][1] != float(i + 15);
  failed = failed || var000[0][8][0] != float(i + 16);
  failed = failed || var000[0][8][1] != float(i + 17);
  failed = failed || var000[0][9][0] != float(i + 18);
  failed = failed || var000[0][9][1] != float(i + 19);
  failed = failed || var000[0][10][0] != float(i + 20);
  failed = failed || var000[0][10][1] != float(i + 21);
  failed = failed || var000[0][11][0] != float(i + 22);
  failed = failed || var000[0][11][1] != float(i + 23);
  failed = failed || var000[0][12][0] != float(i + 24);
  failed = failed || var000[0][12][1] != float(i + 25);
  failed = failed || var000[0][13][0] != float(i + 26);
  failed = failed || var000[0][13][1] != float(i + 27);
  failed = failed || var000[0][14][0] != float(i + 28);
  failed = failed || var000[0][14][1] != float(i + 29);
  failed = failed || var000[0][15][0] != float(i + 30);
  failed = failed || var000[0][15][1] != float(i + 31);
  failed = failed || var000[0][16][0] != float(i + 32);
  failed = failed || var000[0][16][1] != float(i + 33);
  failed = failed || var000[0][17][0] != float(i + 34);
  failed = failed || var000[0][17][1] != float(i + 35);
  failed = failed || var000[0][18][0] != float(i + 36);
  failed = failed || var000[0][18][1] != float(i + 37);
  failed = failed || var000[0][19][0] != float(i + 38);
  failed = failed || var000[0][19][1] != float(i + 39);
  failed = failed || var000[0][20][0] != float(i + 40);
  failed = failed || var000[0][20][1] != float(i + 41);
  failed = failed || var000[0][21][0] != float(i + 42);
  failed = failed || var000[0][21][1] != float(i + 43);
  failed = failed || var000[0][22][0] != float(i + 44);
  failed = failed || var000[0][22][1] != float(i + 45);
  failed = failed || var000[0][23][0] != float(i + 46);
  failed = failed || var000[0][23][1] != float(i + 47);
  failed = failed || var000[0][24][0] != float(i + 48);
  failed = failed || var000[0][24][1] != float(i + 49);
  failed = failed || var000[0][25][0] != float(i + 50);
  failed = failed || var000[0][25][1] != float(i + 51);
  failed = failed || var000[0][26][0] != float(i + 52);
  failed = failed || var000[0][26][1] != float(i + 53);
  failed = failed || var000[0][27][0] != float(i + 54);
  failed = failed || var000[0][27][1] != float(i + 55);
  failed = failed || var000[0][28][0] != float(i + 56);
  failed = failed || var000[0][28][1] != float(i + 57);
  failed = failed || var000[0][29][0] != float(i + 58);
  failed = failed || var000[0][29][1] != float(i + 59);
  failed = failed || var000[0][30][0] != float(i + 60);
  failed = failed || var000[0][30][1] != float(i + 61);
  failed = failed || var000[0][31][0] != float(i + 62);
  failed = failed || var000[0][31][1] != float(i + 63);
  failed = failed || var000[1][0][0] != float(i + 64);
  failed = failed || var000[1][0][1] != float(i + 65);
  failed = failed || var000[1][1][0] != float(i + 66);
  failed = failed || var000[1][1][1] != float(i + 67);
  failed = failed || var000[1][2][0] != float(i + 68);
  failed = failed || var000[1][2][1] != float(i + 69);
  failed = failed || var000[1][3][0] != float(i + 70);
  failed = failed || var000[1][3][1] != float(i + 71);
  failed = failed || var000[1][4][0] != float(i + 72);
  failed = failed || var000[1][4][1] != float(i + 73);
  failed = failed || var000[1][5][0] != float(i + 74);
  failed = failed || var000[1][5][1] != float(i + 75);
  failed = failed || var000[1][6][0] != float(i + 76);
  failed = failed || var000[1][6][1] != float(i + 77);
  failed = failed || var000[1][7][0] != float(i + 78);
  failed = failed || var000[1][7][1] != float(i + 79);
  failed = failed || var000[1][8][0] != float(i + 80);
  failed = failed || var000[1][8][1] != float(i + 81);
  failed = failed || var000[1][9][0] != float(i + 82);
  failed = failed || var000[1][9][1] != float(i + 83);
  failed = failed || var000[1][10][0] != float(i + 84);
  failed = failed || var000[1][10][1] != float(i + 85);
  failed = failed || var000[1][11][0] != float(i + 86);
  failed = failed || var000[1][11][1] != float(i + 87);
  failed = failed || var000[1][12][0] != float(i + 88);
  failed = failed || var000[1][12][1] != float(i + 89);
  failed = failed || var000[1][13][0] != float(i + 90);
  failed = failed || var000[1][13][1] != float(i + 91);
  failed = failed || var000[1][14][0] != float(i + 92);
  failed = failed || var000[1][14][1] != float(i + 93);
  failed = failed || var000[1][15][0] != float(i + 94);
  failed = failed || var000[1][15][1] != float(i + 95);
  failed = failed || var000[1][16][0] != float(i + 96);
  failed = failed || var000[1][16][1] != float(i + 97);
  failed = failed || var000[1][17][0] != float(i + 98);
  failed = failed || var000[1][17][1] != float(i + 99);
  failed = failed || var000[1][18][0] != float(i + 100);
  failed = failed || var000[1][18][1] != float(i + 101);
  failed = failed || var000[1][19][0] != float(i + 102);
  failed = failed || var000[1][19][1] != float(i + 103);
  failed = failed || var000[1][20][0] != float(i + 104);
  failed = failed || var000[1][20][1] != float(i + 105);
  failed = failed || var000[1][21][0] != float(i + 106);
  failed = failed || var000[1][21][1] != float(i + 107);
  failed = failed || var000[1][22][0] != float(i + 108);
  failed = failed || var000[1][22][1] != float(i + 109);
  failed = failed || var000[1][23][0] != float(i + 110);
  failed = failed || var000[1][23][1] != float(i + 111);
  failed = failed || var000[1][24][0] != float(i + 112);
  failed = failed || var000[1][24][1] != float(i + 113);
  failed = failed || var000[1][25][0] != float(i + 114);
  failed = failed || var000[1][25][1] != float(i + 115);
  failed = failed || var000[1][26][0] != float(i + 116);
  failed = failed || var000[1][26][1] != float(i + 117);
  failed = failed || var000[1][27][0] != float(i + 118);
  failed = failed || var000[1][27][1] != float(i + 119);
  failed = failed || var000[1][28][0] != float(i + 120);
  failed = failed || var000[1][28][1] != float(i + 121);
  failed = failed || var000[1][29][0] != float(i + 122);
  failed = failed || var000[1][29][1] != float(i + 123);
  failed = failed || var000[1][30][0] != float(i + 124);
  failed = failed || var000[1][30][1] != float(i + 125);
  failed = failed || var000[1][31][0] != float(i + 126);
  failed = failed || var000[1][31][1] != float(i + 127);
  if (failed)
    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
  else
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}




More information about the Piglit mailing list