diff options
Diffstat (limited to 'tests/auto/runtime/tst_qt3dsruntime.cpp')
-rw-r--r-- | tests/auto/runtime/tst_qt3dsruntime.cpp | 727 |
1 files changed, 0 insertions, 727 deletions
diff --git a/tests/auto/runtime/tst_qt3dsruntime.cpp b/tests/auto/runtime/tst_qt3dsruntime.cpp deleted file mode 100644 index 763529cb..00000000 --- a/tests/auto/runtime/tst_qt3dsruntime.cpp +++ /dev/null @@ -1,727 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2008-2012 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "tst_qt3dsruntime.h" - -#include "render/Qt3DSRenderContext.h" -#include "foundation/TrackingAllocator.h" -#include "foundation/Qt3DSFoundation.h" -#include "foundation/StringTable.h" -#include "foundation/Qt3DSMat44.h" - -#include "base/Qt3DSRenderTestClear.h" -#include "base/Qt3DSRenderTestPrimitives.h" -#include "base/Qt3DSRenderTestConstantBuffer.h" -#include "base/Qt3DSRenderTestBackendQuery.h" -#include "base/Qt3DSRenderTestTimerQuery.h" -#include "base/Qt3DSRenderTestTexture2D.h" -#include "base/Qt3DSRenderTestAtomicCounterBuffer.h" -#include "base/Qt3DSRenderTestDrawIndirectBuffer.h" -#include "base/Qt3DSRenderTestAttribBuffers.h" -#include "base/Qt3DSRenderTestProgramPipeline.h" -#include "fbo/Qt3DSRenderTestFboMsaa.h" -#include "geometry/Qt3DSRenderTestTessellation.h" -#include "geometry/Qt3DSRenderTestGeometryShader.h" -#include "geometry/Qt3DSRenderTestOcclusionQuery.h" -#include "compute/Qt3DSRenderTestComputeShader.h" -#include "shadergenerator/Qt3DSRenderTestDefaultMaterialGenerator.h" -#include "shadergenerator/Qt3DSRenderTestCustomMaterialGenerator.h" -#include "shadergenerator/Qt3DSRenderTestEffectGenerator.h" - -#include <QImage> -#include <QOpenGLContext> -#include <QOffscreenSurface> -#include <QOpenGLFramebufferObject> -#include <QOpenGLFramebufferObjectFormat> - -using namespace std; -using namespace qt3ds; -using namespace qt3ds::render; -using namespace qt3ds::foundation; - -extern "C" { -bool InitializeGL(); -} - -// Enable this to dump the test output into a log.txt file -//#define DUMP_LOGFILE - -#ifndef EA_PLATFORM_WINDOWS - -#ifndef EASTL_DEBUG_BREAK -void EASTL_DEBUG_BREAK() -{ - return; -} -#endif - -namespace qt3ds { -void NVAssert(const char *exp, const char *file, int line, bool *ignore) -{ - *ignore = true; - QString message = QString("failed: %1, file %2, line %3\n") - .arg(exp).arg(file).arg(line); - QFAIL(message.toLatin1().constData()); -} -} -#endif - -void messageOutput(QtMsgType type, const QMessageLogContext &context, - const QString &msg) -{ - Q_UNUSED(context); - switch (type) { - case QtDebugMsg: - case QtInfoMsg: - case QtWarningMsg: - case QtCriticalMsg: { -#ifdef DUMP_LOGFILE - QFile file("log.txt"); - if (file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) { - QTextStream stream(&file); - stream << msg; - } - file.close(); -#endif - } break; // swallow - case QtFatalMsg: - QFAIL(msg.toLocal8Bit().constData()); - } -} - -void tst_qt3dsruntime::initTestCase() -{ - qInstallMessageHandler(messageOutput); -#ifdef DUMP_LOGFILE - QFile file("log.txt"); - if (file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) { - QTextStream stream(&file); - stream << "Log file: " << QTime::currentTime().toString() << "\n"; - } - file.close(); -#endif -} - -QSurfaceFormat makeFormat(int major, int minor, bool gles = false, bool coreProfile = true) -{ - QSurfaceFormat format; - format.setDepthBufferSize(32); - format.setVersion(major, minor); - if (coreProfile) - format.setProfile(QSurfaceFormat::CoreProfile); - else - format.setProfile(QSurfaceFormat::CompatibilityProfile); - if (gles) - format.setRenderableType(QSurfaceFormat::OpenGLES); - return format; -} - -bool tst_qt3dsruntime::init(QSurfaceFormat format) -{ - m_glContext = new QT_PREPEND_NAMESPACE(QOpenGLContext)(this); - m_glContext->setFormat(format); - bool success = m_glContext->create(); - if (!success) - return false; - - m_glSurface = new QOffscreenSurface; - m_glSurface->setFormat(format); - m_glSurface->create(); - m_glContext->makeCurrent(m_glSurface); - - m_allocator = new CAllocator; - m_foundation = NVCreateFoundation(QT3DS_FOUNDATION_VERSION, *m_allocator); - m_stringTable = &IStringTable::CreateStringTable(*m_allocator); - m_renderContext = &NVRenderContext::CreateGL(*m_foundation, *m_stringTable, format); - return true; -} - -bool tst_qt3dsruntime::init() -{ -#if defined(QT_OPENGL_ES_2) - return init(makeFormat(2, 0, true, false)); -#elif defined(Q_OS_ANDROID) || defined(QT_OPENGL_ES_3) - return init(makeFormat(3, 2, true, false)); -#else - return init(makeFormat(4, 3)); -#endif -} - -bool tst_qt3dsruntime::executeTest(NVRenderTestBase *curTest, - const QString &testName, - bool performPixelTest) -{ - bool success = true; - int width = 640; - int height = 480; - userContextData userData = { (unsigned int)width, (unsigned int)height }; - - QOpenGLFramebufferObjectFormat fboFormat; - fboFormat.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil); - QOpenGLFramebufferObject *fbo = new QOpenGLFramebufferObject(QSize(width, height), fboFormat); - - m_renderContext->SetDefaultRenderTarget(fbo->handle()); - m_renderContext->SetDefaultDepthBufferBitCount(m_glContext->format().depthBufferSize()); - m_renderContext->SetViewport(NVRenderRect(0, 0, userData.winWidth, userData.winHeight)); - - success = curTest->run(m_renderContext, &userData); - - if (performPixelTest) { - QImage image = fbo->toImage(); - QImage refImage(QString(":/images/%1.png").arg(testName)); - refImage = refImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); - if (!refImage.isNull()) { - bool pixelTest = image == refImage; - success &= pixelTest; - if (!pixelTest) - image.save(QString("%1_failed.png").arg(testName)); - } - } - - curTest->cleanup(m_renderContext, &userData); - - return success; -} - -void tst_qt3dsruntime::testNVRenderTestClear() -{ - init(); - NVRenderTestClear *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestClear); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestClear"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestPrimitives() -{ - init(); - NVRenderTestPrimitives *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestPrimitives); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestPrimitives"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestConstantBuffer() -{ - init(); - NVRenderTestConstantBuffer *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestConstantBuffer); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestConstantBuffer"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestBackendQuery() -{ - init(); - NVRenderTestBackendQuery *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestBackendQuery); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestBackendQuery", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestTimerQuery() -{ - init(); - NVRenderTestTimerQuery *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestTimerQuery); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestTimerQuery"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestFboMsaa() -{ - init(); - NVRenderTestFboMsaa *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestFboMsaa); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestFboMsaa", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestTessellation() -{ - init(); - NVRenderTestTessellation *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestTessellation); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestTessellation"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestGeometryShader() -{ - init(); - NVRenderTestGeometryShader *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestGeometryShader); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestGeometryShader"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestComputeShader() -{ - init(); - NVRenderTestComputeShader *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestComputeShader); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestComputeShader", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestOcclusionQuery() -{ - init(); - NVRenderTestOcclusionQuery *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestOcclusionQuery); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestOcclusionQuery", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestTexture2D() -{ - init(); - NVRenderTestTexture2D *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestTexture2D); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestTexture2D", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestAtomicCounterBuffer() -{ - init(); - NVRenderTestAtomicCounterBuffer *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestAtomicCounterBuffer); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - bool success = executeTest(test, "NVRenderTestAtomicCounterBuffer"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestDrawIndirectBuffer() -{ - init(); - NVRenderTestDrawIndirectBuffer *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestDrawIndirectBuffer); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestDrawIndirectBuffer", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestAttribBuffers() -{ - init(); - NVRenderTestAttribBuffers *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestAttribBuffers); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestAttribBuffers", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testNVRenderTestProgramPipeline() -{ - init(); - NVRenderTestProgramPipeline *test = - QT3DS_NEW(m_foundation->getAllocator(), NVRenderTestProgramPipeline); - if (!test->isSupported(m_renderContext)) { - QT3DS_FREE(m_foundation->getAllocator(), test); - QSKIP("not supported"); - } - // TODO: Fix BOUL-332 to re-enable this pixel test - bool success = executeTest(test, "NVRenderTestProgramPipeline", false); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -#if defined(QT_OPENGL_ES_2) -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_200es() -{ - if (init(makeFormat(2, 0, true, false))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} -void tst_qt3dsruntime::testRenderCustomShaderGenerator_200es() -{ - runCustomShaderGeneratorTest(makeFormat(2, 0, true, false)); - cleanup(); -} -#endif - -#if defined(QT_OPENGL_ES_3) -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_300es() -{ - if (init(makeFormat(3, 0, true, false))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} -void tst_qt3dsruntime::testRenderCustomShaderGenerator_300es() -{ - runCustomShaderGeneratorTest(makeFormat(3, 0, true, false)); - cleanup(); -} - -#if defined(QT_FEATURE_opengles31) -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_310es() -{ - if (init(makeFormat(3, 1, true, false))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} -void tst_qt3dsruntime::testRenderCustomShaderGenerator_310es() -{ - runCustomShaderGeneratorTest(makeFormat(3, 1, true, false)); - cleanup(); -} -#endif -#if defined(QT_FEATURE_opengles32) -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_320es() -{ - if (init(makeFormat(3, 1, true, false))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} -void tst_qt3dsruntime::testRenderCustomShaderGenerator_320es() -{ - runCustomShaderGeneratorTest(makeFormat(3, 1, true, false)); - cleanup(); -} - -#endif -#endif - -#if defined(QT_OPENGL_DYNAMIC) -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_300() -{ - QSKIP("OpenGL 3.0 is not supported"); - if (init(makeFormat(3, 0))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_310() -{ - if (init(makeFormat(3, 1))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_320() -{ - if (init(makeFormat(3, 2))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_330() -{ - if (init(makeFormat(3, 3))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_400() -{ - if (init(makeFormat(4, 0))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_410() -{ - if (init(makeFormat(4, 1))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_420() -{ - if (init(makeFormat(4, 2))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderDefaultShaderGenerator_430() -{ - if (init(makeFormat(4, 3))) { - runDefaultShaderGeneratorTest(); - cleanup(); - } -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_300() -{ - QSKIP("OpenGL 3.0 is not supported"); - runCustomShaderGeneratorTest(makeFormat(3, 0)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_310() -{ - runCustomShaderGeneratorTest(makeFormat(3, 1)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_320() -{ - runCustomShaderGeneratorTest(makeFormat(3, 2)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_330() -{ - runCustomShaderGeneratorTest(makeFormat(3, 3)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_400() -{ - runCustomShaderGeneratorTest(makeFormat(4, 0)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_410() -{ - runCustomShaderGeneratorTest(makeFormat(4, 1)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_420() -{ - runCustomShaderGeneratorTest(makeFormat(4, 2)); -} - -void tst_qt3dsruntime::testRenderCustomShaderGenerator_430() -{ - runCustomShaderGeneratorTest(makeFormat(4, 3)); -} - -#endif - -void tst_qt3dsruntime::runDefaultShaderGeneratorTest() -{ - Qt3DSRenderTestDefaultMaterialGenerator *test = - QT3DS_NEW(m_foundation->getAllocator(), Qt3DSRenderTestDefaultMaterialGenerator); - if (!test->isSupported(m_renderContext)) - QSKIP("not supported"); - bool success = executeTest(test, "Qt3DSRenderTestDefaultMaterialGenerator"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); -} - -void tst_qt3dsruntime::runCustomShaderGeneratorTest(QSurfaceFormat format) -{ - m_glContext = new QT_PREPEND_NAMESPACE(QOpenGLContext)(this); - m_glContext->setFormat(format); - bool success = m_glContext->create(); - if (!success) - return; - - m_glSurface = new QOffscreenSurface; - m_glSurface->setFormat(format); - m_glSurface->create(); - m_glContext->makeCurrent(m_glSurface); - - m_allocator = new CAllocator; - m_foundation = NVCreateFoundation(QT3DS_FOUNDATION_VERSION, *m_allocator); - - Qt3DSRenderTestCustomMaterialGenerator *test = - QT3DS_NEW(m_foundation->getAllocator(), Qt3DSRenderTestCustomMaterialGenerator); - - test->initializeQt3DSRenderer(format); - m_renderContext = &NVRenderContext::CreateGL(*m_foundation, test->qt3dsRenderer()->GetContext() - .GetStringTable(), format); - - if (!test->isSupported(m_renderContext)) - QSKIP("not supported"); - success = executeTest(test, "Qt3DSRenderTestCusromMaterialGenerator"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::testRenderEffectGenerator() -{ - QSurfaceFormat format = makeFormat(4, 3); - m_glContext = new QT_PREPEND_NAMESPACE(QOpenGLContext)(this); - m_glContext->setFormat(format); - bool success = m_glContext->create(); - if (!success) - return; - - m_glSurface = new QOffscreenSurface; - m_glSurface->setFormat(format); - m_glSurface->create(); - m_glContext->makeCurrent(m_glSurface); - - m_allocator = new CAllocator; - m_foundation = NVCreateFoundation(QT3DS_FOUNDATION_VERSION, *m_allocator); - - Qt3DSRenderTestEffectGenerator *test = - QT3DS_NEW(m_foundation->getAllocator(), Qt3DSRenderTestEffectGenerator); - - test->initializeQt3DSRenderer(format); - m_renderContext = &NVRenderContext::CreateGL(*m_foundation, test->qt3dsRenderer()->GetContext() - .GetStringTable(), format); - - if (!test->isSupported(m_renderContext)) - QSKIP("not supported"); - success = executeTest(test, "Qt3DSRenderTestEffectGenerator"); - QT3DS_FREE(m_foundation->getAllocator(), test); - test = 0; - QVERIFY(success); - cleanup(); -} - -void tst_qt3dsruntime::cleanup() -{ - if (m_renderContext) - m_renderContext->release(); - if (m_foundation) - m_foundation->release(); - - m_renderContext = 0; - m_stringTable = 0; - m_foundation = 0; - - delete m_allocator; - m_allocator = 0; - - m_glSurface->destroy(); - delete m_glSurface; - m_glSurface = 0; - - delete m_glContext; - m_glContext = 0; -} - -QTEST_MAIN(tst_qt3dsruntime) |