148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#ifndef _GLCANDROIDTESTACTIVITY_HPP 248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#define _GLCANDROIDTESTACTIVITY_HPP 348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos/*------------------------------------------------------------------------- 448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * OpenGL Conformance Test Suite 548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * ----------------------------- 648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Copyright (c) 2016 Google Inc. 848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Copyright (c) 2016 The Khronos Group Inc. 948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 1048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Licensed under the Apache License, Version 2.0 (the "License"); 1148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * you may not use this file except in compliance with the License. 1248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * You may obtain a copy of the License at 1348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 1448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * http://www.apache.org/licenses/LICENSE-2.0 1548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 1648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * Unless required by applicable law or agreed to in writing, software 1748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * distributed under the License is distributed on an "AS IS" BASIS, 1848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * See the License for the specific language governing permissions and 2048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * limitations under the License. 2148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * 2284322c9402f810da3cd80b52e9f9ef72150a9004Alexander Galazin */ /*! 2348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * \file 2448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos * \brief CTS Android Activity. 2584322c9402f810da3cd80b52e9f9ef72150a9004Alexander Galazin */ /*-------------------------------------------------------------------*/ 2648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 2748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "glcTestRunner.hpp" 2848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "gluRenderContext.hpp" 2948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuAndroidAssets.hpp" 3048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuAndroidPlatform.hpp" 3148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuAndroidRenderActivity.hpp" 3248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuCommandLine.hpp" 3348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuDefs.hpp" 3448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#include "tcuTestLog.hpp" 3548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 3648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosnamespace glcts 3748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 3848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosnamespace Android 3948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 4048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 4148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosclass TestThread : public tcu::Android::RenderThread 4248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 4348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulospublic: 4448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos TestThread(tcu::Android::NativeActivity& nativeActivity, tcu::Android::AssetArchive& archive, 4548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos const std::string& logPath, glu::ApiType runType, deUint32 runFlags); 4648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos ~TestThread(void); 4748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 4848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos void run(void); 4948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 5048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosprotected: 5148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual void onWindowCreated(ANativeWindow* window); 5248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual void onWindowResized(ANativeWindow* window); 5348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual void onWindowDestroyed(ANativeWindow* window); 5448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual bool render(void); 5548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 5648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos tcu::Android::Platform m_platform; 5748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos tcu::Android::AssetArchive& m_archive; 5848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos TestRunner m_app; 5948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos bool m_finished; //!< Is execution finished. 6048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}; 6148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 6248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosclass TestActivity : public tcu::Android::RenderActivity 6348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos{ 6448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulospublic: 6548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos TestActivity(ANativeActivity* nativeActivity, glu::ApiType runType); 6648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos ~TestActivity(void); 6748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 6848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual void onStart(void); 6948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual void onDestroy(void); 7048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos virtual void onConfigurationChanged(void); 7148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 7248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulosprivate: 7348087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos tcu::Android::AssetArchive m_archive; 7448087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos tcu::CommandLine m_cmdLine; 7548087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos TestThread m_testThread; 7648087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos bool m_started; 7748087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos}; 7848087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 7948087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} // Android 8048087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos} // glcts 8148087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos 8248087f5f0eb08759ee763f98daf3b34becb74559Pyry Haulos#endif // _GLCANDROIDTESTACTIVITY_HPP 83