summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/all.py1
-rw-r--r--tests/glean/CMakeLists.gl.txt1
-rw-r--r--tests/glean/tpaths.cpp375
-rw-r--r--tests/glean/tpaths.h79
4 files changed, 0 insertions, 456 deletions
diff --git a/tests/all.py b/tests/all.py
index 463fcf19b..e509643be 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -252,7 +252,6 @@ with profile.group_manager(GleanTest, 'glean') as g:
g('fbo')
g('getString')
g('occluQry')
- g('paths')
g('pixelFormats')
g('pointAtten')
g('pointSprite')
diff --git a/tests/glean/CMakeLists.gl.txt b/tests/glean/CMakeLists.gl.txt
index 355eadd00..c39e65bbc 100644
--- a/tests/glean/CMakeLists.gl.txt
+++ b/tests/glean/CMakeLists.gl.txt
@@ -35,7 +35,6 @@ piglit_add_executable (glean
tglsl1.cpp
tmultitest.cpp
toccluqry.cpp
- tpaths.cpp
tpixelformats.cpp
tpointatten.cpp
tpointsprite.cpp
diff --git a/tests/glean/tpaths.cpp b/tests/glean/tpaths.cpp
deleted file mode 100644
index 7807a0894..000000000
--- a/tests/glean/tpaths.cpp
+++ /dev/null
@@ -1,375 +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
-
-
-// tpaths.h: Basic test of GL rendering paths.
-// This test verifies that basic, trival OpenGL paths work as expected.
-// For example, glAlphaFunc(GL_GEQUAL, 0.0) should always pass and
-// glAlphaFunc(GL_LESS, 0.0) should always fail. We setup trivial
-// pass and fail conditions for each of alpha test, blending, color mask,
-// depth test, logic ops, scissor, stencil, stipple, and texture and
-// make sure they work as expected. We also setup trival-pass for all
-// these paths simultaneously and test that as well.
-//
-// To test for pass/fail we examine the color buffer for white or black,
-// respectively.
-//
-// Author: Brian Paul (brianp@valinux.com) November 2000
-
-#include <stdlib.h>
-#include "tpaths.h"
-#include <cstdlib>
-
-namespace GLEAN {
-
-void
-PathsTest::SetPathState(Path path, State state) const {
-
- switch (path) {
- case ALPHA:
- if (state == ALWAYS_PASS) {
- glAlphaFunc(GL_GEQUAL, 0.0);
- glEnable(GL_ALPHA_TEST);
- }
- else if (state == ALWAYS_FAIL) {
- glAlphaFunc(GL_GREATER, 1.0);
- glEnable(GL_ALPHA_TEST);
- }
- else {
- glDisable(GL_ALPHA_TEST);
- }
- break;
- case BLEND:
- if (state == ALWAYS_PASS) {
- glBlendFunc(GL_ONE, GL_ZERO);
- glEnable(GL_BLEND);
- }
- else if (state == ALWAYS_FAIL) {
- glBlendFunc(GL_ZERO, GL_ONE);
- glEnable(GL_BLEND);
- }
- else {
- glDisable(GL_BLEND);
- }
- break;
- case COLOR_MASK:
- if (state == ALWAYS_PASS) {
- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- }
- else if (state == ALWAYS_FAIL) {
- glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
- }
- else {
- glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
- }
- break;
- case DEPTH:
- if (state == ALWAYS_PASS) {
- glDepthFunc(GL_ALWAYS);
- glEnable(GL_DEPTH_TEST);
- }
- else if (state == ALWAYS_FAIL) {
- glDepthFunc(GL_NEVER);
- glEnable(GL_DEPTH_TEST);
- }
- else {
- glDisable(GL_DEPTH_TEST);
- }
- break;
- case LOGIC:
- if (state == ALWAYS_PASS) {
- glLogicOp(GL_OR);
- glEnable(GL_COLOR_LOGIC_OP);
- }
- else if (state == ALWAYS_FAIL) {
- glLogicOp(GL_AND);
- glEnable(GL_COLOR_LOGIC_OP);
- }
- else {
- glDisable(GL_COLOR_LOGIC_OP);
- }
- break;
- case SCISSOR:
- if (state == ALWAYS_PASS) {
- glScissor(0, 0, 10, 10);
- glEnable(GL_SCISSOR_TEST);
- }
- else if (state == ALWAYS_FAIL) {
- glScissor(0, 0, 0, 0);
- glEnable(GL_SCISSOR_TEST);
- }
- else {
- glDisable(GL_SCISSOR_TEST);
- }
- break;
- case STENCIL:
- if (state == ALWAYS_PASS) {
- // pass if reference <= stencil value (ref = 0)
- glStencilFunc(GL_LEQUAL, 0, ~0);
- glEnable(GL_STENCIL_TEST);
- }
- else if (state == ALWAYS_FAIL) {
- // pass if reference > stencil value (ref = 0)
- glStencilFunc(GL_GREATER, 0, ~0);
- glEnable(GL_STENCIL_TEST);
- }
- else {
- glDisable(GL_STENCIL_TEST);
- }
- break;
- case STIPPLE:
- if (state == ALWAYS_PASS) {
- GLubyte stipple[4*32];
- for (int i = 0; i < 4*32; i++)
- stipple[i] = 0xff;
- glPolygonStipple(stipple);
- glEnable(GL_POLYGON_STIPPLE);
- }
- else if (state == ALWAYS_FAIL) {
- GLubyte stipple[4*32];
- for (int i = 0; i < 4*32; i++)
- stipple[i] = 0x0;
- glPolygonStipple(stipple);
- glEnable(GL_POLYGON_STIPPLE);
- }
- else {
- glDisable(GL_POLYGON_STIPPLE);
- }
- break;
- case TEXTURE:
- if (state == DISABLE) {
- glDisable(GL_TEXTURE_2D);
- }
- else {
- GLubyte val = (state == ALWAYS_PASS) ? 0xff : 0x00;
- int i;
- GLubyte texImage[4*4*4];
- for (i = 0; i < 4*4*4; i++)
- texImage[i] = val;
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0,
- GL_RGBA, GL_UNSIGNED_BYTE, texImage);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
- GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
- GL_NEAREST);
- glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
- GL_MODULATE);
- glEnable(GL_TEXTURE_2D);
- }
- break;
- default:
- abort(); // error
- }
-}
-
-
-const char *
-PathsTest::PathName(Path path) const {
-
- switch (path) {
- case ALPHA:
- return "Alpha Test";
- case BLEND:
- return "Blending";
- case COLOR_MASK:
- return "Color Mask";
- case DEPTH:
- return "Depth Test";
- case LOGIC:
- return "LogicOp";
- case SCISSOR:
- return "Scissor Test";
- case STENCIL:
- return "Stencil Test";
- case STIPPLE:
- return "Polygon Stipple";
- case TEXTURE:
- return "Modulated Texture";
- case ZZZ:
- return "paths";
- default:
- return "???";
- }
-}
-
-
-void
-PathsTest::FailMessage(BasicResult &r, Path path, State state, GLfloat pixel[3])
- const {
- env->log << name << ": FAIL "
- << r.config->conciseDescription() << '\n';
- if (state == ALWAYS_PASS) {
- env->log << "\t" << PathName(path)
- << " should have had no effect (1, 1, 1)"
- << " but actually modified the fragment: "
- << "(" << pixel[0] << "," << pixel[1] << ","
- << pixel[2] << ")\n";
- }
- else {
- env->log << "\t" << PathName(path)
- << " should have culled the fragment (0, 0, 0)"
- << " but actually didn't: (" << pixel[0] << ","
- << pixel[1] << "," << pixel[2] << ")\n";
- }
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// runOne: Run a single test case
-///////////////////////////////////////////////////////////////////////////////
-void
-PathsTest::runOne(BasicResult& r, Window&) {
-
- Path p, paths[1000];
- int i, numPaths = 0;
-
- // draw 10x10 pixel quads
- glViewport(0, 0, 10, 10);
-
- glDisable(GL_DITHER);
-
- // Build the list of paths to exercise. Skip depth test if we have no
- // depth buffer. Skip stencil test if we have no stencil buffer.
- for (p = ALPHA; p != ZZZ; p = (Path) (p + 1)) {
- if (!((p == DEPTH && r.config->z == 0) ||
- (p == STENCIL && r.config->s == 0))) {
- paths[numPaths++] = p;
- }
- }
-
- // test always-pass paths
- for (i = 0; i < numPaths; i++) {
- glClear(GL_COLOR_BUFFER_BIT);
-
- SetPathState(paths[i], ALWAYS_PASS);
-
- // draw polygon
- glColor4f(1, 1, 1, 1);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- SetPathState(paths[i], DISABLE);
-
- // test buffer
- GLfloat pixel[3];
- glReadPixels(4, 4, 1, 1, GL_RGB, GL_FLOAT, pixel);
- if (pixel[0] != 1.0 || pixel[1] != 1.0 || pixel[2] != 1.0) {
- FailMessage(r, paths[i], ALWAYS_PASS, pixel);
- r.pass = false;
- return;
- }
- }
-
- // enable all always-pass paths
- {
- glClear(GL_COLOR_BUFFER_BIT);
-
- for (i = 0; i < numPaths; i++) {
- SetPathState(paths[i], ALWAYS_PASS);
- }
-
- // draw polygon
- glColor4f(1, 1, 1, 1);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- for (i = 0; i < numPaths; i++) {
- SetPathState(paths[i], DISABLE);
- }
-
- // test buffer
- GLfloat pixel[3];
- glReadPixels(4, 4, 1, 1, GL_RGB, GL_FLOAT, pixel);
- if (pixel[0] != 1.0 || pixel[1] != 1.0 || pixel[2] != 1.0) {
- FailMessage(r, paths[i], ALWAYS_PASS, pixel);
- r.pass = false;
- return;
- }
- }
-
- // test never-pass paths
- for (i = 0; i < numPaths; i++) {
- glClear(GL_COLOR_BUFFER_BIT);
-
- SetPathState(paths[i], ALWAYS_FAIL);
-
- // draw polygon
- glColor4f(1, 1, 1, 1);
- glBegin(GL_POLYGON);
- glVertex2f(-1, -1);
- glVertex2f( 1, -1);
- glVertex2f( 1, 1);
- glVertex2f(-1, 1);
- glEnd();
-
- SetPathState(paths[i], DISABLE);
-
- // test buffer
- GLfloat pixel[3];
- glReadPixels(4, 4, 1, 1, GL_RGB, GL_FLOAT, pixel);
- if (pixel[0] != 0.0 || pixel[1] != 0.0 || pixel[2] != 0.0) {
- FailMessage(r, paths[i], ALWAYS_FAIL, pixel);
- r.pass = false;
- return;
- }
- }
-
- // success
- r.pass = true;
-} // PathsTest::runOne
-
-///////////////////////////////////////////////////////////////////////////////
-// logOne: Log a single test case
-///////////////////////////////////////////////////////////////////////////////
-void
-PathsTest::logOne(BasicResult& r) {
- if (r.pass) {
- logPassFail(r);
- logConcise(r);
- }
-} // PathsTest::logOne
-
-///////////////////////////////////////////////////////////////////////////////
-// The test object itself:
-///////////////////////////////////////////////////////////////////////////////
-PathsTest pathsTest("paths", "window, rgb",
-
- "This test verifies that basic OpenGL operations such as the alpha\n"
- "test, depth test, blending, stippling, and texturing work for\n"
- "trivial cases.\n");
-
-
-} // namespace GLEAN
diff --git a/tests/glean/tpaths.h b/tests/glean/tpaths.h
deleted file mode 100644
index 3b1704b9f..000000000
--- a/tests/glean/tpaths.h
+++ /dev/null
@@ -1,79 +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
-
-
-// tpaths.h: Basic test of GL rendering paths.
-// Author: Brian Paul (brianp@valinux.com) November 2000
-
-
-#ifndef __tpaths_h__
-#define __tpaths_h__
-
-#include "tbasic.h"
-
-namespace GLEAN {
-
-class PathsTest: public BasicTest {
- public:
- PathsTest(const char* testName, const char* filter,
- const char* description):
- BasicTest(testName, filter, description) {
- }
-
- virtual void runOne(BasicResult& r, Window& w);
- virtual void logOne(BasicResult& r);
-
- private:
- enum Path {
- ALPHA,
- BLEND,
- COLOR_MASK,
- DEPTH,
- LOGIC,
- SCISSOR,
- STENCIL,
- STIPPLE,
- TEXTURE,
- ZZZ // end-of-list token
- };
- enum State {
- DISABLE,
- ALWAYS_PASS,
- ALWAYS_FAIL
- };
-
- const char *PathName(Path path) const;
- void FailMessage(BasicResult &r, Path path, State state,
- GLfloat pixel[3]) const;
- void SetPathState(Path path, State state) const;
-
-}; // class PathsTest
-
-} // namespace GLEAN
-
-#endif // __tpaths_h__