[Piglit] [PATCH 4/4] remove glean texSwizzle test

Brian Paul brianp at vmware.com
Thu Apr 24 13:54:13 PDT 2014


Replaced by spec/ext_texture_swizzle/api.c and swizzle.c tests.
---
 tests/all.py                  |    1 -
 tests/glean/CMakeLists.gl.txt |    1 -
 tests/glean/ttexswizzle.cpp   |  435 -----------------------------------------
 tests/glean/ttexswizzle.h     |   88 ---------
 4 files changed, 525 deletions(-)
 delete mode 100644 tests/glean/ttexswizzle.cpp
 delete mode 100644 tests/glean/ttexswizzle.h

diff --git a/tests/all.py b/tests/all.py
index 05e9a04..0fd9bd8 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -138,7 +138,6 @@ glean['texCube'] = GleanTest('texCube')
 glean['texEnv'] = GleanTest('texEnv')
 glean['texgen'] = GleanTest('texgen')
 glean['texCombine4'] = GleanTest('texCombine4')
-glean['texSwizzle'] = GleanTest('texSwizzle')
 glean['texture_srgb'] = GleanTest('texture_srgb')
 glean['texUnits'] = GleanTest('texUnits')
 glean['vertArrayBGRA'] = GleanTest('vertArrayBGRA')
diff --git a/tests/glean/CMakeLists.gl.txt b/tests/glean/CMakeLists.gl.txt
index 9bb37fe..abdfd8e 100644
--- a/tests/glean/CMakeLists.gl.txt
+++ b/tests/glean/CMakeLists.gl.txt
@@ -56,7 +56,6 @@ piglit_add_executable (glean
 	ttexcube.cpp
 	ttexenv.cpp
 	ttexgen.cpp
-	ttexswizzle.cpp
 	ttexture_srgb.cpp
 	ttexunits.cpp
 	tvertarraybgra.cpp
diff --git a/tests/glean/ttexswizzle.cpp b/tests/glean/ttexswizzle.cpp
deleted file mode 100644
index a306b59..0000000
--- a/tests/glean/ttexswizzle.cpp
+++ /dev/null
@@ -1,435 +0,0 @@
-// BEGIN_COPYRIGHT -*- glean -*-
-// 
-// Copyright (C) 2009  VMware, Inc. 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 VMWARE 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
-
-
-// Test GL_EXT_texture_swizzle for all possible swizzle combinations
-// both with fixed function and a fragment program.
-// Brian Paul
-// 28 Jan 2009
-
-
-#define GL_GLEXT_PROTOTYPES
-
-#include <cassert>
-#include <cmath>
-#include <cstring>
-#include <stdlib.h>
-#include "ttexswizzle.h"
-#include "rand.h"
-#include "image.h"
-
-
-namespace GLEAN {
-
-static const int TexSize = 16;
-
-static const GLfloat vertexData[4][4] = {
-	//   x,    y,    s,   t
-	{ -1.0, -1.0,  0.0, 0.0 },
-	{  1.0, -1.0,  1.0, 0.0 },
-	{  1.0,  1.0,  1.0, 1.0 },
-	{ -1.0,  1.0,  0.0, 1.0 }
-};
-
-
-TexSwizzleResult::TexSwizzleResult()
-{
-	pass = false;
-}
-
-
-void
-TexSwizzleTest::RandomColor(GLubyte *color)
-{
-	color[0] = rand.next() & 0xff;
-	color[1] = rand.next() & 0xff;
-	color[2] = rand.next() & 0xff;
-	color[3] = rand.next() & 0xff;
-}
-
-
-void
-TexSwizzleTest::SetTextureColor(const GLubyte *color)
-{
-	GLubyte texImage[TexSize][TexSize][4];
-	int i, j;
-
-	for (i = 0; i < TexSize; i++) {
-		for (j = 0; j < TexSize; j++) {
-			texImage[i][j][0] = color[0];
-			texImage[i][j][1] = color[1];
-			texImage[i][j][2] = color[2];
-			texImage[i][j][3] = color[3];
-		}
-	}
-
-	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TexSize, TexSize, 0,
-				 GL_RGBA, GL_UNSIGNED_BYTE, texImage);
-}
-
-
-GLubyte
-TexSwizzleTest::Swizzle(const GLubyte *texColor, GLenum swizzle)
-{
-	switch (swizzle) {
-	case GL_RED:
-		return texColor[0];
-	case GL_GREEN:
-		return texColor[1];
-	case GL_BLUE:
-		return texColor[2];
-	case GL_ALPHA:
-		return texColor[3];
-	case GL_ONE:
-		return 255;
-	case GL_ZERO:
-		return 0;
-	default:
-		assert(0);
-		return 0;
-	}
-}
-
-
-void
-TexSwizzleTest::ComputeExpectedColor(const GLubyte *texColor,
-									 GLenum swizzleR,
-									 GLenum swizzleG,
-									 GLenum swizzleB,
-									 GLenum swizzleA,
-									 GLubyte *expectedColor)
-{
-	expectedColor[0] = Swizzle(texColor, swizzleR);
-	expectedColor[1] = Swizzle(texColor, swizzleG);
-	expectedColor[2] = Swizzle(texColor, swizzleB);
-	expectedColor[3] = Swizzle(texColor, swizzleA);
-}
-
-
-const char *
-TexSwizzleTest::SwizzleString(GLenum swizzle)
-{
-	switch (swizzle) {
-	case GL_RED:
-		return "GL_RED";
-	case GL_GREEN:
-		return "GL_GREEN";
-	case GL_BLUE:
-		return "GL_BLUE";
-	case GL_ALPHA:
-		return "GL_ALPHA";
-	case GL_ZERO:
-		return "GL_ZERO";
-	case GL_ONE:
-		return "GL_ONE";
-	default:
-		assert(0);
-		return "???";
-	}
-}
-
-
-void
-TexSwizzleTest::ReportFailure(GLenum swizzleR, GLenum swizzleG,
-							  GLenum swizzleB, GLenum swizzleA,
-							  const GLubyte *texColor,
-							  const GLubyte *actual,
-							  const GLubyte *expected)
-{
-	char str[100];
-
-	env->log << name << ": Error: GL_EXT_texure_swizzle test failed\n";
-	env->log << "\tGL_TEXTURE_SWIZZLE_R_EXT = " << SwizzleString(swizzleR) << "\n";
-	env->log << "\tGL_TEXTURE_SWIZZLE_G_EXT = " << SwizzleString(swizzleG) << "\n";
-	env->log << "\tGL_TEXTURE_SWIZZLE_B_EXT = " << SwizzleString(swizzleB) << "\n";
-	env->log << "\tGL_TEXTURE_SWIZZLE_A_EXT = " << SwizzleString(swizzleA) << "\n";
-	if (glIsEnabled(GL_FRAGMENT_PROGRAM_ARB)) {
-		env->log << "\tGL_FRAGMENT_PROGRAM enabled\n";
-	}
-	sprintf(str, "%d, %d, %d, %d",
-			texColor[0], texColor[1], texColor[2], texColor[3]);
-	env->log << "\tTexture color: " << str << "\n";
-	sprintf(str, "%d, %d, %d, %d",
-			expected[0], expected[1], expected[2], expected[3]);
-	env->log << "\tExpected color: " << str << "\n";
-	sprintf(str, "%d, %d, %d, %d",
-			actual[0], actual[1], actual[2], actual[3]);
-	env->log << "\tRendered color: " << str << "\n";
-}
-
-
-// Test state setting/getting for texture swizzle.
-bool
-TexSwizzleTest::TestAPI(void)
-{
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R_EXT, GL_ONE);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G_EXT, GL_ZERO);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B_EXT, GL_RED);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A_EXT, GL_BLUE);
-
-	if (glGetError() != GL_NO_ERROR) {
-		env->log << "\tSetting GL_TEXTURE_SWIZZLE_R/G/B/A generated an error.\n";
-		return false;
-	}
-
-	GLint val;
-	glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R_EXT, &val);
-	if (val != GL_ONE) {
-		env->log << "\tQuery of GL_TEXTURE_SWIZZLE_R_EXT failed.\n";
-		return false;
-	}
-	glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G_EXT, &val);
-	if (val != GL_ZERO) {
-		env->log << "\tQuery of GL_TEXTURE_SWIZZLE_G_EXT failed.\n";
-		return false;
-	}
-	glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B_EXT, &val);
-	if (val != GL_RED) {
-		env->log << "\tQuery of GL_TEXTURE_SWIZZLE_B_EXT failed.\n";
-		return false;
-	}
-	glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A_EXT, &val);
-	if (val != GL_BLUE) {
-		env->log << "\tQuery of GL_TEXTURE_SWIZZLE_A_EXT failed.\n";
-		return false;
-	}
-		
-	// set all at once
-	const GLint swz[4] = { GL_BLUE, GL_GREEN, GL_ALPHA, GL_ZERO };
-	glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA_EXT, swz);
-	if (glGetError() != GL_NO_ERROR) {
-		env->log << "\tSetting GL_TEXTURE_SWIZZLE_RGBA_EXT generated an error.\n";
-		return false;
-	}
-
-	GLint swzOut[4];
-	glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA_EXT, swzOut);
-	if (swzOut[0] != swz[0] ||
-		swzOut[1] != swz[1] ||
-		swzOut[2] != swz[2] ||
-		swzOut[3] != swz[3]) {
-		env->log << "\tQuerying GL_TEXTURE_SWIZZLE_RGBA_EXT failed.\n";
-		return false;
-	}
-
-	return true;
-}
-
-
-// Loop over all possible combinations of texture swizzles,
-// drawing with a texture and checking if the results are correct.
-// return true/false for pass/fail
-bool
-TexSwizzleTest::TestSwizzles(void)
-{
-	static const GLenum swizzles[6] = {
-		GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_ZERO, GL_ONE
-	};
-	int ir, ig, ib, ia;
-	GLubyte texColor[4];
-	int err = 1; // XXX this should be computed from framebuffer depth
-
-	for (ir = 0; ir < 6; ir++) {
-		glTexParameteri(GL_TEXTURE_2D,
-						GL_TEXTURE_SWIZZLE_R_EXT,
-						swizzles[ir]);
-		for (ig = 0; ig < 6; ig++) {
-			glTexParameteri(GL_TEXTURE_2D,
-							GL_TEXTURE_SWIZZLE_G_EXT,
-							swizzles[ig]);
-
-			// Setup random texture color here (not in the innermost loop
-			// for _every_ iteration) just to speed things up a bit.
-			RandomColor(texColor);
-			SetTextureColor(texColor);
-
-			for (ib = 0; ib < 6; ib++) {
-				glTexParameteri(GL_TEXTURE_2D,
-								GL_TEXTURE_SWIZZLE_B_EXT,
-								swizzles[ib]);
-				for (ia = 0; ia < 6; ia++) {
-					glTexParameteri(GL_TEXTURE_2D,
-									GL_TEXTURE_SWIZZLE_A_EXT,
-									swizzles[ia]);
-
-					GLubyte expected[4];
-					ComputeExpectedColor(texColor,
-										 swizzles[ir],
-										 swizzles[ig],
-										 swizzles[ib],
-										 swizzles[ia],
-										 expected);
-
-					// draw something and read back a pixel
-					glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
-					GLubyte actual[4];
-					glReadPixels(windowSize / 2, windowSize / 2, 1, 1,
-								 GL_RGBA, GL_UNSIGNED_BYTE, actual);
-
-					if (abs((int) actual[0] - (int) expected[0]) > err ||
-						abs((int) actual[1] - (int) expected[1]) > err ||
-						abs((int) actual[2] - (int) expected[2]) > err) {
-
-						ReportFailure(swizzles[ir],
-									  swizzles[ig],
-									  swizzles[ib],
-									  swizzles[ia],
-									  texColor, actual, expected);
-
-						return false;
-					}						
-				}
-			}
-		}
-	}
-
-	return true;
-}
-
-
-// Same test as above, but using a fragment program instead of fixed-function.
-bool
-TexSwizzleTest::TestSwizzlesWithProgram(void)
-{
-	const char *text =
-		"!!ARBfp1.0\n"
-		"TEX result.color, fragment.texcoord[0], texture[0], 2D; \n"
-		"END\n";
-	GLuint prog;
-
-	glGenProgramsARB(1, &prog);
-	glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, prog);
-	glProgramStringARB(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
-			   strlen(text), (const GLubyte *) text);
-
-	assert(glGetError() == GL_NO_ERROR);
-
-	glEnable(GL_FRAGMENT_PROGRAM_ARB);
-
-	bool pass = TestSwizzles();
-
-	glDisable(GL_FRAGMENT_PROGRAM_ARB);
-
-	return pass;
-}
-
-
-void
-TexSwizzleTest::Setup(void)
-{
-	// setup transformation
-	glViewport(0, 0, windowSize, windowSize);
-	glMatrixMode(GL_MODELVIEW);
-	glLoadIdentity();
-	glMatrixMode(GL_PROJECTION);
-	glLoadIdentity();
-
-	// setup vertex arrays (draw textured quad)
-	glVertexPointer(2, GL_FLOAT, 16, vertexData);
-	glTexCoordPointer(2, GL_FLOAT, 16, &vertexData[0][2]);
-	glEnable(GL_VERTEX_ARRAY);
-	glEnable(GL_TEXTURE_COORD_ARRAY);
-
-	// setup texture
-	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_REPLACE);
-	glEnable(GL_TEXTURE_2D);
-}
-
-
-void
-TexSwizzleTest::runOne(TexSwizzleResult &r, Window &w)
-{
-	(void) w;  // silence warning
-
-	Setup();
-
-	r.pass = TestAPI();
-
-	if (r.pass) {
-		r.pass = TestSwizzles();
-	}
-
-	if (r.pass && GLUtils::haveExtension("GL_ARB_fragment_program")) {
-		r. pass = TestSwizzlesWithProgram();
-	}
-}
-
-
-void
-TexSwizzleTest::logOne(TexSwizzleResult &r)
-{
-	if (r.pass) {
-		logPassFail(r);
-		logConcise(r);
-	}
-	else {
-		env->log << name << " FAIL\n";
-	}
-}
-
-
-void
-TexSwizzleResult::putresults(ostream &s) const
-{
-	if (pass) {
-		s << "PASS\n";
-	}
-	else {
-		s << "FAIL\n";
-	}
-}
-
-
-bool
-TexSwizzleResult::getresults(istream &s)
-{
-	char result[1000];
-	s >> result;
-
-	if (strcmp(result, "FAIL") == 0) {
-		pass = false;
-	}
-	else {
-		pass = true;
-	}
-	return s.good();
-}
-
-
-// The test object itself:
-TexSwizzleTest texSwizzleTest("texSwizzle", "window, rgb",
-                              "GL_EXT_texture_swizzle",
-                              "Test the GL_EXT_texture_swizzle extension.\n");
-
-
-
-} // namespace GLEAN
-
-
diff --git a/tests/glean/ttexswizzle.h b/tests/glean/ttexswizzle.h
deleted file mode 100644
index efe3941..0000000
--- a/tests/glean/ttexswizzle.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// BEGIN_COPYRIGHT -*- glean -*-
-// 
-// Copyright (C) 2009  VMware, Inc. 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 VMWARE 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
-
-// tTexSwizzle.h:  Test GL_EXT_texture_swizzle
-
-#ifndef __ttexswizzle_h__
-#define __ttexswizzle_h__
-
-#include "tbase.h"
-#include "rand.h"
-
-namespace GLEAN {
-
-#define windowSize 50
-
-class TexSwizzleResult: public BaseResult
-{
-public:
-	bool pass;
-
-	TexSwizzleResult();
-
-	virtual void putresults(ostream& s) const;
-	virtual bool getresults(istream& s);
-};
-
-
-class TexSwizzleTest: public BaseTest<TexSwizzleResult>
-{
-public:
-	GLEAN_CLASS_WH(TexSwizzleTest, TexSwizzleResult,
-		       windowSize, windowSize);
-
-private:
-	RandomBase rand;
-
-	void RandomColor(GLubyte *color);
-	void SetTextureColor(const GLubyte *color);
-	GLubyte Swizzle(const GLubyte *texColor, GLenum swizzle);
-	void ComputeExpectedColor(const GLubyte *texColor,
-				  GLenum swizzleR,
-				  GLenum swizzleG,
-				  GLenum swizzleB,
-				  GLenum swizzleA,
-				  GLubyte *expectedColor);
-	const char *SwizzleString(GLenum swizzle);
-	void ReportFailure(GLenum swizzleR,
-			   GLenum swizzleG,
-			   GLenum swizzleB,
-			   GLenum swizzleA,
-			   const GLubyte *texColor,
-			   const GLubyte *actual,
-			   const GLubyte *expected);
-	bool TestAPI(void);
-	bool TestSwizzles(void);
-	bool TestSwizzlesWithProgram(void);
-	void Setup(void);
-};
-
-} // namespace GLEAN
-
-#endif // __ttexswizzle_h__
-
-- 
1.7.10.4



More information about the Piglit mailing list