Replaced by piglit tests in previous two commits. --- tests/glean/CMakeLists.gl.txt | 1 - tests/glean/tdepthstencil.cpp | 348 ----------------------------------------- tests/glean/tdepthstencil.h | 80 ---------- 3 files changed, 429 deletions(-) delete mode 100644 tests/glean/tdepthstencil.cpp delete mode 100644 tests/glean/tdepthstencil.h
diff --git a/tests/glean/CMakeLists.gl.txt b/tests/glean/CMakeLists.gl.txt index 1ecc58f..5c2a239 100644 --- a/tests/glean/CMakeLists.gl.txt +++ b/tests/glean/CMakeLists.gl.txt @@ -30,7 +30,6 @@ piglit_add_executable (glean tbasic.cpp tbinding.cpp tblend.cpp - tdepthstencil.cpp test.cpp tfbo.cpp tfpexceptions.cpp diff --git a/tests/glean/tdepthstencil.cpp b/tests/glean/tdepthstencil.cpp deleted file mode 100644 index 41f869b..0000000 --- a/tests/glean/tdepthstencil.cpp +++ /dev/null @@ -1,348 +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 - -// tdepthstencil.h: Test GL_EXT_packed_depth_stencil extension. -// Brian Paul 1 October 2005 - - -#include <cassert> -#include <cmath> -#include <cstring> -#include "tdepthstencil.h" -#include "rand.h" -#include "image.h" -#include "piglit-util-gl-common.h" - -namespace GLEAN { - -DepthStencilResult::DepthStencilResult() -{ - pass = false; - readDepthStencilRate = 0; - readDepthUintRate = 0; - readDepthUshortRate = 0; -} - - -bool -DepthStencilTest::checkError(const char *where) -{ - GLenum err = glGetError(); - if (err) { - errorCode = err; - errorPos = where; - return true; - } - return false; -} - -void -DepthStencilTest::setup(void) -{ - glGetIntegerv(GL_DEPTH_BITS, &depthBits); - glGetIntegerv(GL_STENCIL_BITS, &stencilBits); -} - - -// If we're lacking a depth and/or stencil buffer we'll just run this test. -// Return true if pass, false if fail. -bool -DepthStencilTest::testInsufficientVisual(void) -{ - GLuint p[1]; - - glDrawPixels(1, 1, GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT, p); - if (glGetError() != GL_INVALID_OPERATION) { - sprintf(errorMsg, - "glDrawPixels failed to raise GL_INVALID_OPERATION" - " when there's no depth or stencil buffer."); - return false; - } - - glCopyPixels(0, 0, 5, 5, GL_DEPTH_STENCIL_EXT); - if (glGetError() != GL_INVALID_OPERATION) { - sprintf(errorMsg, - "glCopyPixels failed to raise GL_INVALID_OPERATION" - " when there's no depth or stencil buffer."); - return false; - } - - glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH24_STENCIL8_EXT, - 0, 0, 1, 1, 0); - if (glGetError() != GL_INVALID_OPERATION) { - sprintf(errorMsg, - "glCopyTexImage2D failed to raise GL_INVALID_OPERATION" - " when there's no depth or stencil buffer."); - return false; - } - - return true; -} - - -// Each of these OpenGL calls in this function should generate an error! -// Note to GL implementors: if you find any errors here, you better check -// your glTexImage functions too! -bool -DepthStencilTest::testErrorDetection(void) -{ - GLuint p[1]; - - glDrawPixels(1, 1, GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT, p); - if (!piglit_check_gl_error(GL_INVALID_ENUM)) { - sprintf(errorMsg, - "glDrawPixels(GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT)" - " failed to generate GL_INVALID_ENUM."); - return false; - } - - glDrawPixels(1, 1, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT_24_8_EXT, p); - if (!piglit_check_gl_error(GL_INVALID_OPERATION)) { - sprintf(errorMsg, - "glDrawPixels(GL_DEPTH_COMPONENT, GL_UNSIGNED_INT_24_8_EXT)" - " failed to generate GL_INVALID_OPERATION."); - return false; - } - - glReadPixels(0, 0, 1, 1, GL_DEPTH_STENCIL_EXT, GL_FLOAT, p); - if (!piglit_check_gl_error(GL_INVALID_ENUM)) { - sprintf(errorMsg, - "glReadPixels(GL_DEPTH_STENCIL_EXT, GL_FLOAT)" - " failed to generate GL_INVALID_ENUM."); - return false; - } - - glReadPixels(0, 0, 1, 1, GL_STENCIL_INDEX, GL_UNSIGNED_INT_24_8_EXT, p); - if (!piglit_check_gl_error(GL_INVALID_OPERATION)) { - sprintf(errorMsg, - "glReadPixels(GL_STENCIL_INDEX, GL_UNSIGNED_INT_24_8_EXT)" - " failed to generate GL_INVALID_OPERATION."); - return false; - } - - return true; -} - - -bool -DepthStencilTest::testDrawAndRead(void) -{ - // the reference image - static const GLuint image[4] = { - 0x00000000, - 0x000000ff, - 0xffffff00, - 0xffffffff - }; - GLuint readback[4]; - - glWindowPos2i(0, 0); - glDrawPixels(2, 2, GL_DEPTH_STENCIL_EXT, - GL_UNSIGNED_INT_24_8_EXT, image); - if (checkError("glDrawPixels in testDrawAndRead")) - return false; - - glReadPixels(0, 0, 2, 2, GL_DEPTH_STENCIL_EXT, - GL_UNSIGNED_INT_24_8_EXT, readback); - if (checkError("glReadPixels in testDrawAndRead")) - return false; - - for (int i = 0; i < 4; i++) { - if (image[i] != readback[i]) { - sprintf(errorMsg, - "Image returned by glReadPixels didn't match" - " the expected result (0x%x != 0x%x)", - readback[i], image[i]); - return false; - } - } - - // test depth scale/bias and stencil mapping (in a trivial way) - glPixelTransferf(GL_DEPTH_SCALE, 0.0); // map all depths to 1.0 - glPixelTransferf(GL_DEPTH_BIAS, 1.0); - GLuint stencilMap[2] = { 2, 2 }; // map all stencil values to 2 - glPixelMapuiv(GL_PIXEL_MAP_S_TO_S, 2, stencilMap); - glPixelTransferi(GL_MAP_STENCIL, 1); - glReadPixels(0, 0, 2, 2, GL_DEPTH_STENCIL_EXT, - GL_UNSIGNED_INT_24_8_EXT, readback); - if (checkError("glReadPixels in testDrawAndRead")) - return false; - for (int i = 0; i < 4; i++) { - if (readback[i] != 0xffffff02) { - sprintf(errorMsg, - "Image returned by glReadPixels didn't match" - " the expected result (0x%x != 0xffffff02)", - readback[i]); - return false; - } - } - glPixelTransferf(GL_DEPTH_SCALE, 1.0); - glPixelTransferf(GL_DEPTH_BIAS, 0.0); - glPixelTransferi(GL_MAP_STENCIL, 0); - - return true; -} - - -bool -DepthStencilTest::testTextureOperations(void) -{ - glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH24_STENCIL8_EXT, - 0, 0, 1, 1, 0); - if (checkError("glCopyTexImage2D in testTextureOperations.")) - return false; - - glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1); - if (checkError("glCopyTexSubImage2D in testTextureOperations.")) - return false; - - return true; -} - - -void -DepthStencilTest::runOne(DepthStencilResult &r, Window &w) -{ - (void) w; // silence warning - r.pass = true; - errorCode = 0; - errorPos = NULL; - errorMsg[0] = 0; - - setup(); - - if (depthBits == 0 || stencilBits == 0) { - r.pass = testInsufficientVisual(); - return; - } - - if (r.pass) - r.pass = testErrorDetection(); - if (r.pass) - r.pass = testDrawAndRead(); - if (r.pass) - r.pass = testTextureOperations(); -} - - -void -DepthStencilTest::logOne(DepthStencilResult &r) -{ - if (r.pass) { - logPassFail(r); - logConcise(r); - - char str[1000]; - double mbps; - - /* Skip perf results if we didn't test that. */ - if (env->options.quick) - return; - - env->log << "\tglReadPixels GL_DEPTH_STENCIL rate: "; - mbps = r.readDepthStencilRate * sizeof(GLuint) / (1024*1024); - sprintf(str, "%.2f", mbps); - env->log << str << " MBytes per second.\n"; - - env->log << "\tglReadPixels GL_DEPTH/GLuint rate: "; - mbps = r.readDepthUintRate * sizeof(GLuint) / (1024*1024); - sprintf(str, "%.2f", mbps); - env->log << str << " MBytes per second.\n"; - - env->log << "\tglReadPixels GL_DEPTH/GLushort rate: "; - mbps = r.readDepthUshortRate * sizeof(GLshort) / (1024*1024); - sprintf(str, "%.2f", mbps); - env->log << str << " MBytes per second.\n"; - } - else { - env->log << name << "FAIL\n"; - if (errorCode) { - env->log << "\tOpenGL Error " << gluErrorString(errorCode) - << " at " << errorPos << "\n"; - } - else if (errorMsg[0]) { - env->log << "\t" << errorMsg << "\n"; - } - } -} - - -void -DepthStencilResult::putresults(ostream &s) const -{ - if (pass) { - s << "PASS\n"; - - char str[1000]; - double mbps; - - mbps = readDepthStencilRate * sizeof(GLuint) / (1024*1024); - sprintf(str, "%.2f", mbps); - s << str << "\n"; - - mbps = readDepthUintRate * sizeof(GLuint) / (1024*1024); - sprintf(str, "%.2f", mbps); - s << str << "\n"; - - mbps = readDepthUshortRate * sizeof(GLushort) / (1024*1024); - sprintf(str, "%.2f", mbps); - s << str << "\n"; - } - else { - s << "FAIL\n"; - } -} - - -bool -DepthStencilResult::getresults(istream &s) -{ - char result[1000]; - s >> result; - - if (strcmp(result, "FAIL") == 0) { - pass = false; - } - else { - pass = true; - s >> readDepthStencilRate; - s >> readDepthUintRate; - s >> readDepthUshortRate; - } - return s.good(); -} - - -// The test object itself: -DepthStencilTest depthstencilTest("depthStencil", "window, rgb", - "GL_EXT_packed_depth_stencil GL_ARB_window_pos", - "Test the GL_EXT_packed_depth_stencil extension.\n"); - - - -} // namespace GLEAN diff --git a/tests/glean/tdepthstencil.h b/tests/glean/tdepthstencil.h deleted file mode 100644 index 14b3045..0000000 --- a/tests/glean/tdepthstencil.h +++ /dev/null @@ -1,80 +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 - -// tdepthstencil.h: Test GL_EXT_packed_depth_stencil extension. -// Brian Paul 1 October 2005 - -#ifndef __tdepthstencil_h__ -#define __tdepthstencil_h__ - -#include "tbase.h" - -namespace GLEAN { - -#define drawingSize 1000 -#define windowSize (drawingSize + 2) - -class DepthStencilResult: public BaseResult -{ -public: - bool pass; - double readDepthStencilRate; // pixels/second - double readDepthUintRate; // pixels/second - double readDepthUshortRate; // pixels/second - - DepthStencilResult(); - - virtual void putresults(ostream& s) const; - virtual bool getresults(istream& s); -}; - - -class DepthStencilTest: public BaseTest<DepthStencilResult> -{ -public: - GLEAN_CLASS_WH(DepthStencilTest, DepthStencilResult, - windowSize, windowSize); - -private: - int depthBits, stencilBits; - GLenum errorCode; - const char *errorPos; - char errorMsg[1000]; - - bool checkError(const char *where); - void setup(void); - bool testInsufficientVisual(void); - bool testErrorDetection(void); - bool testDrawAndRead(void); - bool testTextureOperations(void); -}; - -} // namespace GLEAN - -#endif // __tdepthstencil_h__ - -- 1.7.10.4 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit