---
 tests/all.py                  |   46 +-
 tests/glean/CMakeLists.gl.txt |    1 -
 tests/glean/tvertprog1.cpp    | 1115 -----------------------------------------
 tests/glean/tvertprog1.h      |   88 ----
 4 files changed, 1 insertion(+), 1249 deletions(-)
 delete mode 100644 tests/glean/tvertprog1.cpp
 delete mode 100644 tests/glean/tvertprog1.h

diff --git a/tests/all.py b/tests/all.py
index 5301146..1da676b 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -440,51 +440,7 @@ glean_fp_tests = ['ABS test',
                   'ARB_fog_exp2 test',
                   'Computed fog exp2 test']
 
-glean_vp_tests = ['ABS test',
-                  'ADD test',
-                  'ARL test',
-                  'DP3 test',
-                  'DP4 test',
-                  'DPH test',
-                  'DST test',
-                  'EX2 test',
-                  'EXP test',
-                  'FLR test',
-                  'FRC test',
-                  'LG2 test',
-                  'LIT test 1',
-                  'LIT test 2 (degenerate case: 0 ^ 0 -> 1)',
-                  'LIT test 3 (case x < 0)',
-                  'LOG test',
-                  'MAD test',
-                  'MAX test',
-                  'MIN test',
-                  'MOV test (with swizzle)',
-                  'MUL test (with swizzle and masking)',
-                  'POW test (exponentiation)',
-                  'RCP test (reciprocal)',
-                  'RSQ test 1 (reciprocal square root)',
-                  'RSQ test 2 (reciprocal square root of negative value)',
-                  'SGE test',
-                  'SLT test',
-                  'SUB test (with swizzle)',
-                  'SWZ test 1',
-                  'SWZ test 2',
-                  'SWZ test 3',
-                  'SWZ test 4',
-                  'SWZ test 5',
-                  'XPD test 1',
-                  'XPD test 2 (same src and dst arg)',
-                  'Position write test (compute position from texcoord)',
-                  'Z-write test',
-                  'State reference test 1 (material ambient)',
-                  'State reference test 2 (light products)',
-                  'State reference test 3 (fog params)',
-                  'Divide by zero test',
-                  'Infinity and nan test']
-
-for pairs in [(['fragProg1'], glean_fp_tests),
-              (['vertProg1'], glean_vp_tests)]:
+for pairs in [(['fragProg1'], glean_fp_tests)]:
     for prefix, name in itertools.product(*pairs):
         groupname = grouptools.join('glean', '{0}-{1}'.format(prefix, name))
         profile.test_list[groupname] = GleanTest(prefix)
diff --git a/tests/glean/CMakeLists.gl.txt b/tests/glean/CMakeLists.gl.txt
index 2ede8ed..9250dfe 100644
--- a/tests/glean/CMakeLists.gl.txt
+++ b/tests/glean/CMakeLists.gl.txt
@@ -39,7 +39,6 @@ piglit_add_executable (glean
        ttexture_srgb.cpp
        tvertarraybgra.cpp
        tvertattrib.cpp
-       tvertprog1.cpp
        winsys.cpp
        gl.cpp
        image_misc.cpp
diff --git a/tests/glean/tvertprog1.cpp b/tests/glean/tvertprog1.cpp
deleted file mode 100644
index 68ad828..0000000
--- a/tests/glean/tvertprog1.cpp
+++ /dev/null
@@ -1,1115 +0,0 @@
-// BEGIN_COPYRIGHT -*- glean -*-
-// 
-// Copyright (C) 1999  Allen Akin   All Rights Reserved.
-// 
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the
-// Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-// KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL ALLEN AKIN BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-// AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-// 
-// END_COPYRIGHT
-
-// tvertprog1.cpp:  Test GL_ARB_vertex_program extension.
-// Brian Paul  22 October 2005
-//
-// See tfragprog.cpp for comments (this test is very similar).
-
-#include <cstdlib>
-#include <cassert>
-#include <cmath>
-#include <cstring>
-#include <math.h>
-#include "tvertprog1.h"
-
-
-namespace GLEAN {
-
-static GLuint progID;
-
-
-// Clamp X to [0, 1]
-#define CLAMP01( X )  ( (X)<(0.0) ? (0.0) : ((X)>(1.0) ? (1.0) : (X)) )
-// Absolute value
-#define ABS(X)  ( (X) < 0.0 ? -(X) : (X) )
-// Max
-#define MAX( A, B )   ( (A) > (B) ? (A) : (B) )
-// Min
-#define MIN( A, B )   ( (A) < (B) ? (A) : (B) )
-// Duplicate value four times
-#define SMEAR(X)  (X), (X), (X), (X)
-
-#define DONT_CARE_Z -1.0
-#define DONT_CARE_COLOR -1.0
-
-#define VERTCOLOR { 0.25, 0.75, 0.5, 0.25 }
-#define PARAM0 { 0.0, 0.0, 0.0, 0.0 }     // all zero
-#define PARAM1 { 0.5, 0.25, 0.9, 0.5 }    // in [0,1]
-#define PARAM2 { -1.0, 0.0, 0.25, -0.5 }  // in [-1,1]
-#define AMBIENT { 0.2, 0.4, 0.6, 0.8 }
-#define DIFFUSE { 0.1, 0.3, 0.5, 0.7 }
-static const GLfloat VertColor[4] = VERTCOLOR;
-static const GLfloat Param0[4] = PARAM0;
-static const GLfloat Param1[4] = PARAM1;
-static const GLfloat Param2[4] = PARAM2;
-static const GLfloat Ambient[4] = AMBIENT;
-static const GLfloat Diffuse[4] = DIFFUSE;
-static const GLfloat FogDensity = 0.5;
-static const GLfloat FogStart = 0.2;
-static const GLfloat FogEnd = 0.9;
-static GLfloat InfNan[4];
-
-
-// These are the specific vertex programs which we'll test.
-// Alphabetical order, please.
-static const VertexProgram Programs[] = {
-       // ============= Basic instructions tests =============================
-       {
-               "ABS test",
-               "!!ARBvp1.0\n"
-               "PARAM p2 = program.local[2]; \n"
-               "MOV result.position, vertex.position; \n"
-               "ABS result.color, p2; \n"
-               "END \n",
-               { CLAMP01(ABS(Param2[0])),
-                 CLAMP01(ABS(Param2[1])),
-                 CLAMP01(ABS(Param2[2])),
-                 CLAMP01(ABS(Param2[3])),
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "ADD test",
-               "!!ARBvp1.0\n"
-               "PARAM p = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "ADD result.color, vertex.color, p; \n"
-               "END \n",
-               { CLAMP01(VertColor[0] + Param1[0]),
-                 CLAMP01(VertColor[1] + Param1[1]),
-                 CLAMP01(VertColor[2] + Param1[2]),
-                 CLAMP01(VertColor[3] + Param1[3])
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "ARL test",
-               "!!ARBvp1.0\n"
-               "ADDRESS addr; \n"
-               "PARAM indexes = {-1, 0, 1, 2}; \n"
-               "PARAM myArray[4] = {{0.11, 0.12, 0.13, 0.14}, \n"
-               "                    {0.21, 0.22, 0.23, 0.24}, \n"
-               "                    {0.31, 0.32, 0.33, 0.34}, \n"
-               "                    {0.41, 0.42, 0.43, 0.44}}; \n"
-               "MOV result.position, vertex.position; \n"
-               ""
-               "# Load ARL with -1, get array[0].x \n"
-               "ARL addr.x, indexes.x; \n"
-               "MOV result.color.x, myArray[addr.x + 1]; \n"
-               ""
-               "# Load ARL with 0, get array[1].y \n"
-               "ARL addr.x, indexes.y; \n"
-               "MOV result.color.y, myArray[addr.x + 1]; \n"
-               ""
-               "# Load ARL with 1, get array[2].z \n"
-               "ARL addr.x, indexes.z; \n"
-               "MOV result.color.z, myArray[addr.x + 1]; \n"
-               ""
-               "# Load ARL with 2, get array[3].w\n"
-               "ARL addr.x, indexes.w; \n"
-               "MOV result.color.w, myArray[addr.x + 1]; \n"
-               "END \n",
-               { 0.11,
-                 0.22,
-                 0.33,
-                 0.44
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "DP3 test",
-               "!!ARBvp1.0\n"
-               "PARAM p2 = program.local[2]; \n"
-               "PARAM bias = { 0.5, 0.5, 0.5, 0.5 }; \n"
-               "TEMP t; \n"
-               "MOV result.position, vertex.position; \n"
-               "DP3 t, p2, vertex.color; \n"
-               "ADD result.color, t, bias; \n"
-               "END \n",
-               { SMEAR(Param2[0] * VertColor[0] +
-                       Param2[1] * VertColor[1] +
-                       Param2[2] * VertColor[2] + 0.5)
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "DP4 test",
-               "!!ARBvp1.0\n"
-               "PARAM p2 = program.local[2]; \n"
-               "PARAM bias = { 0.5, 0.5, 0.5, 0.5 }; \n"
-               "TEMP t; \n"
-               "MOV result.position, vertex.position; \n"
-               "DP4 t, p2, vertex.color; \n"
-               "ADD result.color, t, bias; \n"
-               "END \n",
-               { SMEAR(Param2[0] * VertColor[0] +
-                       Param2[1] * VertColor[1] +
-                       Param2[2] * VertColor[2] +
-                       Param2[3] * VertColor[3] + 0.5)
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "DPH test",
-               "!!ARBvp1.0\n"
-               "PARAM p2 = program.local[2]; \n"
-               "TEMP t; \n"
-               "MOV result.position, vertex.position; \n"
-               "DPH result.color, p2, vertex.color; \n"
-               "END \n",
-               { SMEAR(CLAMP01(Param2[0] * VertColor[0] +
-                               Param2[1] * VertColor[1] +
-                               Param2[2] * VertColor[2] +
-                               VertColor[3]))
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "DST test",
-               "!!ARBvp1.0\n"
-               "# let d = 0.4 \n"
-               "PARAM v1 = {9.9, 0.16, 0.16, 9.9}; \n"
-               "PARAM v2 = {9.9, 2.5, 9.9, 2.5}; \n"
-               "MOV result.position, vertex.position; \n"
-               "DST result.color, v1, v2; \n"
-               "END \n",
-               { 1.0,
-                 0.4,           // v1.y * v2.y
-                 0.16,          // v1.z
-                 CLAMP01(2.5)   // v2.w
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "EX2 test",
-               "!!ARBvp1.0\n"
-                "PARAM scale = {0.01, 0.01, 0.01, 0.01}; \n"
-               "PARAM values = {0.0, 1.0, 4.0, -2.0 }; \n"
-                "TEMP t; \n"
-               "MOV result.position, vertex.position; \n"
-               "EX2 t.x, values.x; \n"
-               "EX2 t.y, values.y; \n"
-               "EX2 t.z, values.z; \n"
-               "EX2 t.w, values.w; \n"
-               "MUL result.color, t, scale; \n"
-               "END \n",
-               {  1.0 * 0.01,
-                   2.0 * 0.01,
-                  16.0 * 0.01,
-                  0.25 * 0.01 },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "EXP test",
-               "!!ARBvp1.0\n"
-                "PARAM scale = {0.01, 0.01, 0.01, 0.01}; \n"
-               "PARAM values = {4.5, 0, 0, 0}; \n"
-                "TEMP t; \n"
-               "MOV result.position, vertex.position; \n"
-               "EXP t, values.x; \n"
-               "MUL result.color, t, scale; \n"
-               "END \n",
-               { 16.0   * 0.01,
-                   0.5   * 0.01,
-                  22.627 * 0.01,
-                   1.0   * 0.01 },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "FLR test",
-               "!!ARBvp1.0\n"
-               "PARAM values = {4.8, 0.3, -0.2, 1.2}; \n"
-               "PARAM scale = {0.1, 0.1, 0.1, 0.1}; \n"
-               "MOV result.position, vertex.position; \n"
-               "TEMP t; \n"
-               "FLR t, values; \n"
-               "MUL result.color, t, scale; \n"
-               "END \n",
-               { 0.4,
-                 0.0,
-                 CLAMP01(-0.1),
-                 0.1
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "FRC test",
-               "!!ARBvp1.0\n"
-               "PARAM values = {1.344, -1.5, -10.1, 4.2}; \n"
-               "MOV result.position, vertex.position; \n"
-               "FRC result.color, values; \n"
-               "END \n",
-               { 0.344,
-                 0.5,
-                 0.9,
-                 0.2
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "LG2 test",
-               "!!ARBvp1.0\n"
-               "PARAM values = {64.0, 1, 30, 4}; \n"
-               "PARAM scale = {0.1, 0.1, 0.1, 0.1}; \n"
-               "MOV result.position, vertex.position; \n"
-               "TEMP t; \n"
-               "LG2 t.x, values.x; \n"
-               "LG2 t.y, values.y; \n"
-               "LG2 t.z, values.z; \n"
-               "LG2 t.w, values.w; \n"
-               "MUL result.color, t, scale; \n"
-               "END \n",
-               { 0.6,
-                 0.0,
-                 0.49,
-                 0.2
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "LIT test 1",
-               "!!ARBvp1.0\n"
-               "PARAM values = {0.65, 0.9, 0.0, 8.0}; \n"
-               "MOV result.position, vertex.position; \n"
-               "LIT result.color, values; \n"
-               "END \n",
-               { 1.0,
-                 0.65,    // values.x
-                 0.430,   // roughly Pow(values.y, values.w)
-                 1.0
-               },
-               DONT_CARE_Z,
-               FLAG_LOOSE
-       },
-       {
-               "LIT test 2 (degenerate case: 0 ^ 0 -> 1)",
-               "!!ARBvp1.0\n"
-               "PARAM values = {0.65, 0.0, 0.0, 0.0}; \n"
-               "MOV result.position, vertex.position; \n"
-               "LIT result.color, values; \n"
-               "END \n",
-               { 1.0,
-                 0.65,    // values.x
-                 1.0,     // 0^0
-                 1.0
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "LIT test 3 (case x < 0)",
-               "!!ARBvp1.0\n"
-               "PARAM values = {-0.5, 0.0, 0.0, 0.0}; \n"
-               "MOV result.position, vertex.position; \n"
-               "LIT result.color, values; \n"
-               "END \n",
-               { 1.0,
-                 CLAMP01(-0.5),    // values.x
-                 0.0,
-                 1.0
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "LOG test",
-               "!!ARBvp1.0\n"
-               "PARAM values = {64.0, 50, 30, 4}; \n"
-               "PARAM scale = {0.1, 0.1, 0.1, 0.1}; \n"
-               "MOV result.position, vertex.position; \n"
-               "TEMP t; \n"
-               "LOG t.x, values.x; \n"
-               "LOG t.y, values.y; \n"
-               "LOG t.z, values.z; \n"
-               "LOG t.w, values.w; \n"
-               "MUL result.color, t, scale; \n"
-               "END \n",
-               { 0.6,   // floor(log2(value.x))
-                 0.15,  // value.y / 2^(floor(log2(value.y)))
-                 0.49,  // roughApproxLog2(value.z)
-                 0.1
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "MAD test",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "PARAM p2 = program.local[2]; \n"
-               "MOV result.position, vertex.position; \n"
-               "MAD result.color, vertex.color, p1, p2; \n"
-               "END \n",
-               { CLAMP01(VertColor[0] * Param1[0] + Param2[0]),
-                 CLAMP01(VertColor[1] * Param1[1] + Param2[1]),
-                 CLAMP01(VertColor[2] * Param1[2] + Param2[2]),
-                 CLAMP01(VertColor[3] * Param1[3] + Param2[3])
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "MAX test",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "PARAM p2 = program.local[2]; \n"
-               "MOV result.position, vertex.position; \n"
-               "MAX result.color, p1, p2; \n"
-               "END \n",
-               { MAX(Param1[0], Param2[0]),
-                 MAX(Param1[1], Param2[1]),
-                 MAX(Param1[2], Param2[2]),
-                 MAX(Param1[3], Param2[3]),
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "MIN test",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "MIN result.color, p1, vertex.color; \n"
-               "END \n",
-               { MIN(Param1[0], VertColor[0]),
-                 MIN(Param1[1], VertColor[1]),
-                 MIN(Param1[2], VertColor[2]),
-                 MIN(Param1[3], VertColor[3]),
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "MOV test (with swizzle)",
-               "!!ARBvp1.0\n"
-               "MOV result.position, vertex.position; \n"
-               "MOV result.color, vertex.color.wzxy; \n"
-               "END \n",
-               { VertColor[3],
-                 VertColor[2],
-                 VertColor[0],
-                 VertColor[1]
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "MUL test (with swizzle and masking)",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "MUL result.color.xy, p1.wzww, vertex.color.wzww; \n"
-               "MUL result.color.zw, p1.xxyx, vertex.color.xxyx; \n"
-               "END \n",
-               { CLAMP01(Param1[3] * VertColor[3]),
-                 CLAMP01(Param1[2] * VertColor[2]),
-                 CLAMP01(Param1[1] * VertColor[1]),
-                 CLAMP01(Param1[0] * VertColor[0]),
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "POW test (exponentiation)",
-               "!!ARBvp1.0\n"
-               "PARAM values = {0.5, 2, 3, 4}; \n"
-               "MOV result.position, vertex.position; \n"
-               "POW result.color.x, values.x, values.y; \n"
-               "POW result.color.y, values.x, values.z; \n"
-               "POW result.color.z, values.x, values.w; \n"
-               "POW result.color.w, values.w, values.x; \n"
-               "END \n",
-               { 0.5 * 0.5,
-                 0.5 * 0.5 * 0.5,
-                 0.5 * 0.5 * 0.5 * 0.5,
-                 CLAMP01(2.0) },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "RCP test (reciprocal)",
-               "!!ARBvp1.0\n"
-               "PARAM values = {8, -10, 1, 12 }; \n"
-               "MOV result.position, vertex.position; \n"
-               "RCP result.color.x, values.x; \n"
-               "RCP result.color.y, values.y; \n"
-               "RCP result.color.z, values.z; \n"
-               "RCP result.color.w, values.w; \n"
-               "END \n",
-               { 1.0 / 8.0, CLAMP01(1.0 / -10.0), 1, 1.0 / 12.0 },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "RSQ test 1 (reciprocal square root)",
-               "!!ARBvp1.0\n"
-               "PARAM values = {1, 4, 9, 100 }; \n"
-               "MOV result.position, vertex.position; \n"
-               "RSQ result.color.x, values.x; \n"
-               "RSQ result.color.y, values.y; \n"
-               "RSQ result.color.z, values.z; \n"
-               "RSQ result.color.w, values.w; \n"
-               "END \n",
-               { 1.0, 0.5, 0.3333, 0.1 },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "RSQ test 2 (reciprocal square root of negative value)",
-               "!!ARBvp1.0\n"
-               "PARAM values = {0, -100, -5, -1}; \n"
-               "MOV result.position, vertex.position; \n"
-               "RSQ result.color.x, values.x; \n"
-               "RSQ result.color.y, values.y; \n"
-               "RSQ result.color.z, values.z; \n"
-               "RSQ result.color.w, values.w; \n"
-               "END \n",
-               { DONT_CARE_COLOR,
-                 0.1,
-                 0.447,
-                 1.0,
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SGE test",
-               "!!ARBvp1.0\n"
-               "PARAM p0 = program.local[0]; \n"
-               "PARAM p2 = program.local[2]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SGE result.color, p2, p0; \n"
-               "END \n",
-               { Param2[0] >= Param0[0] ? 1.0 : 0.0,
-                 Param2[1] >= Param0[1] ? 1.0 : 0.0,
-                 Param2[2] >= Param0[2] ? 1.0 : 0.0,
-                 Param2[3] >= Param0[3] ? 1.0 : 0.0,
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SLT test",
-               "!!ARBvp1.0\n"
-               "PARAM p0 = program.local[0]; \n"
-               "PARAM p2 = program.local[2]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SLT result.color, p2, p0; \n"
-               "END \n",
-               { Param2[0] < Param0[0] ? 1.0 : 0.0,
-                 Param2[1] < Param0[1] ? 1.0 : 0.0,
-                 Param2[2] < Param0[2] ? 1.0 : 0.0,
-                 Param2[3] < Param0[3] ? 1.0 : 0.0,
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SUB test (with swizzle)",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SUB result.color, p1.yxwz, vertex.color.primary.yxwz; \n"
-               "END \n",
-               { CLAMP01(Param1[1] - VertColor[1]),
-                 CLAMP01(Param1[0] - VertColor[0]),
-                 CLAMP01(Param1[3] - VertColor[3]),
-                 CLAMP01(Param1[2] - VertColor[2])
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SWZ test 1",
-               "!!ARBvp1.0\n"
-               "PARAM p = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SWZ result.color, p, w,x,x,y; \n"
-               "END \n",
-               { Param1[3],
-                 Param1[0],
-                 Param1[0],
-                 Param1[1]
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SWZ test 2",
-               "!!ARBvp1.0\n"
-               "PARAM p = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SWZ result.color, p, -w,-x,x,y; \n"
-               "END \n",
-               { CLAMP01(-Param1[3]),
-                 CLAMP01(-Param1[0]),
-                 Param1[0],
-                 Param1[1]
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SWZ test 3",
-               "!!ARBvp1.0\n"
-               "PARAM p = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SWZ result.color, p, 0,1,0,1; \n"
-               "END \n",
-               { 0.0, 1.0, 0.0, 1.0 },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SWZ test 4",
-               "!!ARBvp1.0\n"
-               "PARAM p = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SWZ result.color, p, 1,x,z,0; \n"
-               "END \n",
-               { 1.0,
-                 Param1[0],
-                 Param1[2],
-                 0.0
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "SWZ test 5",
-               "!!ARBvp1.0\n"
-               "PARAM p = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "SWZ result.color, p, z,-y,-1,0; \n"
-               "END \n",
-               { CLAMP01(Param1[2]),
-                 CLAMP01(-Param1[1]),
-                 CLAMP01(-1),
-                 0.0
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "XPD test 1",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "PARAM p2 = program.local[2]; \n"
-               "MOV result.position, vertex.position; \n"
-               "XPD result.color, p1, p2; \n"
-               "END \n",
-               { CLAMP01(Param1[1] * Param2[2] - Param1[2] * Param2[1]),
-                 CLAMP01(Param1[2] * Param2[0] - Param1[0] * Param2[2]),
-                 CLAMP01(Param1[0] * Param2[1] - Param1[1] * Param2[0]),
-                 DONT_CARE_COLOR
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "XPD test 2 (same src and dst arg)",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "PARAM p2 = program.local[2]; \n"
-               "TEMP t; \n"
-               "MOV result.position, vertex.position; \n"
-               "MOV t, p1; \n"
-               "XPD t, t, p2; \n"
-               "MOV result.color, t; \n"
-               "END \n",
-               { CLAMP01(Param1[1] * Param2[2] - Param1[2] * Param2[1]),
-                 CLAMP01(Param1[2] * Param2[0] - Param1[0] * Param2[2]),
-                 CLAMP01(Param1[0] * Param2[1] - Param1[1] * Param2[0]),
-                 DONT_CARE_COLOR
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-
-       // ============= Test result.position writes ==========================
-       {
-               "Position write test (compute position from texcoord)",
-               "!!ARBvp1.0\n"
-               "ATTRIB texcoord = vertex.texcoord[0]; \n"
-               "PARAM scale = {0.5, 0.5, 0.0, 1.0}; \n"
-               "PARAM bias = {-0.25, -0.25, 0.0, 0.0}; \n"
-               "MAD result.position, texcoord, scale, bias; \n"
-               "MOV result.color, vertex.color; \n"
-               "END \n",
-               VERTCOLOR,
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "Z-write test",
-               "!!ARBvp1.0\n"
-               "PARAM p1 = program.local[1]; \n"
-               "MOV result.position, vertex.position; \n"
-               "MOV result.position.z, p1.y; \n"
-               "MOV result.color, vertex.color; \n"
-               "END \n",
-               VERTCOLOR,
-               Param1[1] * 0.5 + 0.5,  // map clip Z to win Z
-               FLAG_NONE
-       },
-
-       // ============= Global state reference tests =========================
-       {
-               "State reference test 1 (material ambient)",
-               "!!ARBvp1.0\n"
-               "PARAM ambient = state.material.front.ambient; \n"
-               "MOV result.position, vertex.position; \n"
-               "MOV result.color, ambient; \n"
-               "END \n",
-               AMBIENT,
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               // Note: material.diffuse = VertColor
-               //       light.diffuse = Diffuse
-               "State reference test 2 (light products)",
-               "!!ARBvp1.0\n"
-               "PARAM dprod = state.lightprod[0].diffuse; \n"
-               "MOV result.position, vertex.position; \n"
-               "MOV result.color, dprod; \n"
-               "END \n",
-               { CLAMP01(Diffuse[0] * VertColor[0]),
-                 CLAMP01(Diffuse[1] * VertColor[1]),
-                 CLAMP01(Diffuse[2] * VertColor[2]),
-                 CLAMP01(VertColor[3])  // material's diffuse alpha
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "State reference test 3 (fog params)",
-               "!!ARBvp1.0\n"
-               "PARAM fog = state.fog.params; \n"
-               "PARAM scale = {1.0, 1.0, 1.0, 0.1}; \n"
-               "MOV result.position, vertex.position; \n"
-               "MUL result.color, fog, scale; \n"
-               "END \n",
-               { FogDensity,
-                 FogStart,
-                 FogEnd,
-                 (1.0 / (FogEnd - FogStart)) * 0.1
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-
-       // ============= Numeric stress tests =================================
-       // Basically just check that we don't crash when we do divides by
-       // zero, etc.
-       {
-               "Divide by zero test",
-               "!!ARBvp1.0\n"
-               "PARAM zero = program.local[0]; \n"
-               "MOV result.position, vertex.position; \n"
-               "RCP result.color.x, zero.x; \n"
-               "RCP result.color.y, zero.y; \n"
-               "RCP result.color.z, zero.z; \n"
-               "RCP result.color.w, zero.w; \n"
-               "END \n",
-               { DONT_CARE_COLOR,
-                 DONT_CARE_COLOR,
-                 DONT_CARE_COLOR,
-                 DONT_CARE_COLOR
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-       {
-               "Infinity and nan test",
-               "!!ARBvp1.0\n"
-               "PARAM zero = program.local[0]; \n"
-               "PARAM infNan = program.local[9]; \n"
-               "MOV result.position, vertex.position; \n"
-               "ADD result.color, infNan, zero; \n"
-               "END \n",
-               { DONT_CARE_COLOR,
-                 DONT_CARE_COLOR,
-                 DONT_CARE_COLOR,
-                 DONT_CARE_COLOR
-               },
-               DONT_CARE_Z,
-               FLAG_NONE
-       },
-
-       // ============= Texcoord output tests ================================
-       // XXX to do
-
-       // XXX add lots more tests here!
-       { NULL, NULL, {0,0,0,0}, 0, FLAG_NONE } // end of list sentinal
-};
-
-
-
-void
-VertexProgramTest::setup(void)
-{
-       // setup Infinity, Nan values
-       int nan;
-       float *nanPtr;
-
-       nan = (0xff << 23) | (1 << 0);
-       nanPtr = (float *) &nan;
-       InfNan[0] = HUGE_VAL;
-       InfNan[1] = -HUGE_VAL;
-       InfNan[2] = (float) (*nanPtr);
-       InfNan[3] = 1.0 / HUGE_VAL;
-       /*
-       printf("InfNan = %f %f %f %f\n",
-              InfNan[0], InfNan[1], InfNan[2], InfNan[3]);
-       */
-
-       glGenProgramsARB(1, &progID);
-       glBindProgramARB(GL_VERTEX_PROGRAM_ARB, progID);
-       glEnable(GL_VERTEX_PROGRAM_ARB);
-
-       // load program inputs
-       glColor4fv(VertColor);
-       glProgramLocalParameter4fvARB(GL_VERTEX_PROGRAM_ARB, 0, Param0);
-       glProgramLocalParameter4fvARB(GL_VERTEX_PROGRAM_ARB, 1, Param1);
-       glProgramLocalParameter4fvARB(GL_VERTEX_PROGRAM_ARB, 2, Param2);
-       glProgramLocalParameter4fvARB(GL_VERTEX_PROGRAM_ARB, 9, InfNan);
-
-       // other GL state
-       glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, Ambient);
-       glLightfv(GL_LIGHT0, GL_DIFFUSE, Diffuse);
-       glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, VertColor);
-       glFogf(GL_FOG_DENSITY, FogDensity);
-       glFogf(GL_FOG_START, FogStart);
-       glFogf(GL_FOG_END, FogEnd);
-
-       GLenum err = glGetError();
-       assert(!err);  // should be OK
-
-       // setup vertex transform (we'll draw a quad in middle of window)
-       glMatrixMode(GL_PROJECTION);
-       glLoadIdentity();
-       glOrtho(-4.0, 4.0, -4.0, 4.0, 0.0, 1.0);
-       glMatrixMode(GL_MODELVIEW);
-       glLoadIdentity();
-       glDrawBuffer(GL_FRONT);
-       glReadBuffer(GL_FRONT); 
-
-       // compute error tolerances (may need fine-tuning)
-       int bufferBits[5];
-       glGetIntegerv(GL_RED_BITS, &bufferBits[0]);
-       glGetIntegerv(GL_GREEN_BITS, &bufferBits[1]);
-       glGetIntegerv(GL_BLUE_BITS, &bufferBits[2]);
-       glGetIntegerv(GL_ALPHA_BITS, &bufferBits[3]);
-       glGetIntegerv(GL_DEPTH_BITS, &bufferBits[4]);
-
-       tolerance[0] = 2.0 / (1 << bufferBits[0]);
-       tolerance[1] = 2.0 / (1 << bufferBits[1]);
-       tolerance[2] = 2.0 / (1 << bufferBits[2]);
-       if (bufferBits[3])
-               tolerance[3] = 2.0 / (1 << bufferBits[3]);
-       else
-               tolerance[3] = 1.0;
-       if (bufferBits[4])
-               tolerance[4] = 16.0 / (1 << bufferBits[4]);
-       else
-               tolerance[4] = 1.0;
-
-        // Some tests request a looser tolerance:
-        // XXX a factor of 4 may be too much...
-        for (int i = 0; i < 5; i++)
-                looseTolerance[i] = 4.0 * tolerance[i];
-}
-
-
-void
-VertexProgramTest::reportFailure(const char *programName,
-                                  const GLfloat expectedColor[4],
-                                  const GLfloat actualColor[4] ) const
-{
-       env->log << "FAILURE:\n";
-       env->log << "  Program: " << programName << "\n";
-       env->log << "  Expected color: ";
-       env->log << expectedColor[0] << ", ";
-       env->log << expectedColor[1] << ", ";
-       env->log << expectedColor[2] << ", ";
-       env->log << expectedColor[3] << "\n";
-       env->log << "  Observed color: ";
-       env->log << actualColor[0] << ", ";
-       env->log << actualColor[1] << ", ";
-       env->log << actualColor[2] << ", ";
-       env->log << actualColor[3] << "\n";
-}
-
-void
-VertexProgramTest::reportZFailure(const char *programName,
-                                 GLfloat expectedZ, GLfloat actualZ) const
-{
-       env->log << "FAILURE:\n";
-       env->log << "  Program: " << programName << "\n";
-       env->log << "  Expected Z: " << expectedZ << "\n";
-       env->log << "  Observed Z: " << actualZ << "\n";
-}
-
-
-
-// Compare actual and expected colors
-bool
-VertexProgramTest::equalColors(const GLfloat act[4], const GLfloat exp[4], int 
flags) const
-{
-        const GLfloat *tol;
-        if (flags & FLAG_LOOSE)
-                tol = looseTolerance;
-        else
-                tol = tolerance;
-       if ((fabsf(act[0] - exp[0]) > tol[0] && exp[0] != DONT_CARE_COLOR) ||
-           (fabsf(act[1] - exp[1]) > tol[1] && exp[1] != DONT_CARE_COLOR) ||
-           (fabsf(act[2] - exp[2]) > tol[2] && exp[2] != DONT_CARE_COLOR) ||
-           (fabsf(act[3] - exp[3]) > tol[3] && exp[3] != DONT_CARE_COLOR))
-               return false;
-       else
-               return true;
-}
-
-
-bool
-VertexProgramTest::equalDepth(GLfloat z0, GLfloat z1) const
-{
-       if (fabsf(z0 - z1) > tolerance[4])
-               return false;
-       else
-               return true;
-}
-
-
-bool
-VertexProgramTest::testProgram(const VertexProgram &p)
-{
-       const GLfloat r = 0.25;
-
-       glProgramStringARB(GL_VERTEX_PROGRAM_ARB,
-                          GL_PROGRAM_FORMAT_ASCII_ARB,
-                          strlen(p.progString),
-                          (const GLubyte *) p.progString);
-
-       GLenum err = glGetError();
-       if (err) {
-               GLint errorPos;
-               glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorPos);
-               env->log << "OpenGL error " << (int) err << "\n";
-               env->log << "Invalid Vertex Program:\n";
-               env->log << p.progString;
-               env->log << "Error position: " << errorPos << "\n";
-               env->log << "Error message: " << 
glGetString(GL_PROGRAM_ERROR_STRING_ARB) << "\n";
-               return false;
-       }
-
-       // to avoid potential issue with undefined result.depth.z
-       if (p.expectedZ == DONT_CARE_Z)
-               glDisable(GL_DEPTH_TEST);
-       else
-               glEnable(GL_DEPTH_TEST);
-
-       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-       glBegin(GL_POLYGON);
-       glTexCoord2f(0, 0);  glVertex2f(-r, -r);
-       glTexCoord2f(1, 0);  glVertex2f( r, -r);
-       glTexCoord2f(1, 1);  glVertex2f( r,  r);
-       glTexCoord2f(0, 1);  glVertex2f(-r,  r);
-       glEnd();
-
-       GLfloat pixel[4];
-       glReadPixels(windowSize / 2, windowSize / 2, 1, 1,
-                    GL_RGBA, GL_FLOAT, pixel);
-
-       if (0) // debug
-           printf("%s: Expect: %.3f %.3f %.3f %.3f  found: %.3f %.3f %.3f 
%.3f\n",
-                  p.name,
-                  p.expectedColor[0], p.expectedColor[1],
-                  p.expectedColor[2], p.expectedColor[3], 
-                  pixel[0], pixel[1], pixel[2], pixel[3]);
-
-       if (!equalColors(pixel, p.expectedColor, p.flags)) {
-               reportFailure(p.name, p.expectedColor, pixel);
-               return false;
-       }
-
-       if (p.expectedZ != DONT_CARE_Z) {
-               GLfloat z;
-               glReadPixels(windowSize / 2, windowSize / 2, 1, 1,
-                            GL_DEPTH_COMPONENT, GL_FLOAT, &z);
-               if (!equalDepth(z, p.expectedZ)) {
-                       reportZFailure(p.name, p.expectedZ, z);
-                       return false;
-               }
-       }
-
-       if (0) // debug
-          printf("%s passed\n", p.name);
-
-       return true;
-}
-
-void
-VertexProgramTest::testBadProgram(MultiTestResult &result)
-{
-       const GLfloat r = 0.25;
-       GLenum err;
-
-       {
-               static const char *badprog =
-                       "!!ARBvp1.0\n"
-                       "NOTANOPCODE;\n"
-                       "MOV result.position, vertex.position;\n";
-
-               glProgramStringARB(GL_VERTEX_PROGRAM_ARB,
-                                       GL_PROGRAM_FORMAT_ASCII_ARB,
-                                       strlen(badprog),
-                                       (const GLubyte *) badprog);
-
-               /* Test that an invalid program raises an error */
-               err = glGetError();
-               if (err != GL_INVALID_OPERATION) {
-                       env->log << "Unexpected OpenGL error state " << (int) 
err <<
-                               " with bad vertex program.\n";
-                       env->log << "Expected: " << GL_INVALID_OPERATION << 
"\n";
-                       result.numFailed++;
-
-                       while (err != 0)
-                               err = glGetError();
-               } else {
-                       result.numPassed++;
-               }
-       }
-
-
-       /* Check that we correctly produce GL_INVALID_OPERATION when rendering
-        * with an invalid (non-existant in this case) program.
-        */
-       {
-               glBindProgramARB(GL_VERTEX_PROGRAM_ARB, 99);
-
-               glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-               glBegin(GL_POLYGON);
-               glTexCoord2f(0, 0);  glVertex2f(-r, -r);
-               glTexCoord2f(1, 0);  glVertex2f( r, -r);
-               glTexCoord2f(1, 1);  glVertex2f( r,  r);
-               glTexCoord2f(0, 1);  glVertex2f(-r,  r);
-               glEnd();
-               err = glGetError();
-
-               if (err != GL_INVALID_OPERATION) {
-                       env->log << "Unexpected OpenGL error state " << (int) 
err <<
-                               " in glBegin() with bad vertex program.\n";
-                       env->log << "Expected: " << GL_INVALID_OPERATION << 
"\n";
-                       result.numFailed++;
-
-                       while (err != 0)
-                               err = glGetError();
-               } else {
-                       result.numPassed++;
-               }
-       }
-
-       /* Similarly, test that glDrawArrays raises GL_INVALID_OPERATION
-        */
-       {
-               static const GLfloat vertcoords[4][3] = {
-                       { -r, -r, 0 }, {  r, -r, 0 }, {  r,  r, 0 }, { -r,  r, 
0 }
-               };
-
-               glVertexPointer(3, GL_FLOAT, 0, vertcoords);
-               glEnableClientState(GL_VERTEX_ARRAY);
-               glDrawArrays(GL_POLYGON, 0, 4);
-               err = glGetError();
-               glDisableClientState(GL_VERTEX_ARRAY);
-
-               if (err != GL_INVALID_OPERATION) {
-                       env->log << "Unexpected OpenGL error state " << (int) 
err <<
-                               " in glDrawArrays() with bad vertex program.\n";
-                       env->log << "Expected: " << GL_INVALID_OPERATION << 
"\n";
-                       result.numFailed++;
-
-                       while (err != 0)
-                               err = glGetError();
-               } else {
-                       result.numPassed++;
-               }
-       }
-}
-
-void
-VertexProgramTest::runOne(MultiTestResult &r, Window &w)
-{
-       // to test a single sub-test, set the name here:
-       const char *single = getenv("PIGLIT_TEST");
-
-       (void) w;
-       setup();
-
-       for (int i = 0; Programs[i].name; i++) {
-
-               if (!single || strcmp(single, Programs[i].name) == 0) {
-
-                       if (!testProgram(Programs[i])) {
-                               r.numFailed++;
-                       }
-                       else {
-                               r.numPassed++;
-                       }
-               }
-       }
-
-       testBadProgram(r);
-
-       r.pass = (r.numFailed == 0);
-}
-
-
-// The test object itself:
-VertexProgramTest vertexProgramTest("vertProg1", "window, rgb, z",
-       "GL_ARB_vertex_program",
-       "Vertex Program test 1: test a specific set of vertex programs.\n"
-       );
-
-
-
-} // namespace GLEAN
diff --git a/tests/glean/tvertprog1.h b/tests/glean/tvertprog1.h
deleted file mode 100644
index 1c80406..0000000
--- a/tests/glean/tvertprog1.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// BEGIN_COPYRIGHT -*- glean -*-
-// 
-// Copyright (C) 1999  Allen Akin   All Rights Reserved.
-// 
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the
-// Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-// KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL ALLEN AKIN BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-// AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-// OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-// 
-// END_COPYRIGHT
-
-// tvertprog.h:  Test GL_ARB_vertex_program extension.
-// Brian Paul  22 October 2005
-
-#ifndef __tvertprog_h__
-#define __tvertprog_h__
-
-#include "tmultitest.h"
-
-namespace GLEAN {
-
-#define windowSize 100
-
-// to indicate a looser tolerance test is needed
-#define FLAG_NONE   0
-#define FLAG_LOOSE  1
-
-class VertexProgram
-{
-public:
-       const char *name;
-       const char *progString;
-       GLfloat expectedColor[4];
-       GLfloat expectedZ;
-       int flags;
-};
-
-
-
-class VertexProgramTest: public MultiTest
-{
-public:
-       VertexProgramTest(const char* testName, const char* filter,
-                         const char *extensions, const char* description):
-               MultiTest(testName, filter, extensions, description),
-               tolerance(),
-               looseTolerance()
-       {
-       }
-
-       virtual void runOne(MultiTestResult &r, Window &w);
-
-private:
-       GLfloat tolerance[5];
-       GLfloat looseTolerance[5];
-       void setup(void);
-       bool equalColors(const GLfloat a[4], const GLfloat b[4], int flags) 
const;
-       bool equalDepth(GLfloat z0, GLfloat z1) const;
-       bool testProgram(const VertexProgram &p);
-       void testBadProgram(MultiTestResult &result);
-       void reportFailure(const char *programName,
-                           const GLfloat expectedColor[4],
-                           const GLfloat actualColor[4] ) const;
-       void reportZFailure(const char *programName,
-                           GLfloat expectedZ, GLfloat actualZ) const;
-
-};
-
-} // namespace GLEAN
-
-#endif // __tvertprog_h__
-- 
2.7.4

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to