1e5c31af7Sopenharmony_ci/*------------------------------------------------------------------------- 2e5c31af7Sopenharmony_ci * OpenGL Conformance Test Suite 3e5c31af7Sopenharmony_ci * ----------------------------- 4e5c31af7Sopenharmony_ci * 5e5c31af7Sopenharmony_ci * Copyright (c) 2016 Google Inc. 6e5c31af7Sopenharmony_ci * Copyright (c) 2016 The Khronos Group Inc. 7e5c31af7Sopenharmony_ci * 8e5c31af7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 9e5c31af7Sopenharmony_ci * you may not use this file except in compliance with the License. 10e5c31af7Sopenharmony_ci * You may obtain a copy of the License at 11e5c31af7Sopenharmony_ci * 12e5c31af7Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 13e5c31af7Sopenharmony_ci * 14e5c31af7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 15e5c31af7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 16e5c31af7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17e5c31af7Sopenharmony_ci * See the License for the specific language governing permissions and 18e5c31af7Sopenharmony_ci * limitations under the License. 19e5c31af7Sopenharmony_ci * 20e5c31af7Sopenharmony_ci */ /*! 21e5c31af7Sopenharmony_ci * \file 22e5c31af7Sopenharmony_ci * \brief CTS Android entry points. 23e5c31af7Sopenharmony_ci */ /*-------------------------------------------------------------------*/ 24e5c31af7Sopenharmony_ci 25e5c31af7Sopenharmony_ci#include "glcAndroidTestActivity.hpp" 26e5c31af7Sopenharmony_ci 27e5c31af7Sopenharmony_ci#if (DE_OS != DE_OS_ANDROID) 28e5c31af7Sopenharmony_ci#error "Invalid OS" 29e5c31af7Sopenharmony_ci#elif (DE_ANDROID_API < 9) 30e5c31af7Sopenharmony_ci#error "CTS runner requires API level 9 or greater" 31e5c31af7Sopenharmony_ci#endif 32e5c31af7Sopenharmony_ci 33e5c31af7Sopenharmony_cistatic void createCTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize, glu::ApiType type) 34e5c31af7Sopenharmony_ci{ 35e5c31af7Sopenharmony_ci DE_UNREF(savedState && savedStateSize); 36e5c31af7Sopenharmony_ci try 37e5c31af7Sopenharmony_ci { 38e5c31af7Sopenharmony_ci glcts::Android::TestActivity* obj = new glcts::Android::TestActivity(activity, type); 39e5c31af7Sopenharmony_ci DE_UNREF(obj); 40e5c31af7Sopenharmony_ci } 41e5c31af7Sopenharmony_ci catch (const std::exception& e) 42e5c31af7Sopenharmony_ci { 43e5c31af7Sopenharmony_ci tcu::die("Failed to create activity: %s", e.what()); 44e5c31af7Sopenharmony_ci } 45e5c31af7Sopenharmony_ci} 46e5c31af7Sopenharmony_ci 47e5c31af7Sopenharmony_ciDE_BEGIN_EXTERN_C 48e5c31af7Sopenharmony_ci 49e5c31af7Sopenharmony_ciJNIEXPORT void JNICALL createES2CTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize) 50e5c31af7Sopenharmony_ci{ 51e5c31af7Sopenharmony_ci createCTSActivity(activity, savedState, savedStateSize, glu::ApiType::es(2, 0)); 52e5c31af7Sopenharmony_ci} 53e5c31af7Sopenharmony_ci 54e5c31af7Sopenharmony_ciJNIEXPORT void JNICALL createES3CTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize) 55e5c31af7Sopenharmony_ci{ 56e5c31af7Sopenharmony_ci createCTSActivity(activity, savedState, savedStateSize, glu::ApiType::es(3, 0)); 57e5c31af7Sopenharmony_ci} 58e5c31af7Sopenharmony_ci 59e5c31af7Sopenharmony_ciJNIEXPORT void JNICALL createES31CTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize) 60e5c31af7Sopenharmony_ci{ 61e5c31af7Sopenharmony_ci createCTSActivity(activity, savedState, savedStateSize, glu::ApiType::es(3, 1)); 62e5c31af7Sopenharmony_ci} 63e5c31af7Sopenharmony_ci 64e5c31af7Sopenharmony_ciJNIEXPORT void JNICALL createES32CTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize) 65e5c31af7Sopenharmony_ci{ 66e5c31af7Sopenharmony_ci createCTSActivity(activity, savedState, savedStateSize, glu::ApiType::es(3, 2)); 67e5c31af7Sopenharmony_ci} 68e5c31af7Sopenharmony_ci 69e5c31af7Sopenharmony_ciJNIEXPORT void JNICALL createGL45CTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize) 70e5c31af7Sopenharmony_ci{ 71e5c31af7Sopenharmony_ci createCTSActivity(activity, savedState, savedStateSize, glu::ApiType::core(4, 5)); 72e5c31af7Sopenharmony_ci} 73e5c31af7Sopenharmony_ci 74e5c31af7Sopenharmony_ciJNIEXPORT void JNICALL createGL46CTSActivity(ANativeActivity* activity, void* savedState, size_t savedStateSize) 75e5c31af7Sopenharmony_ci{ 76e5c31af7Sopenharmony_ci createCTSActivity(activity, savedState, savedStateSize, glu::ApiType::core(4, 6)); 77e5c31af7Sopenharmony_ci} 78e5c31af7Sopenharmony_ciDE_END_EXTERN_C 79