Home | History | Annotate | Download | only in egl
      1 /*-------------------------------------------------------------------------
      2  * drawElements Quality Program Tester Core
      3  * ----------------------------------------
      4  *
      5  * Copyright 2014 The Android Open Source Project
      6  *
      7  * Licensed under the Apache License, Version 2.0 (the "License");
      8  * you may not use this file except in compliance with the License.
      9  * You may obtain a copy of the License at
     10  *
     11  *      http://www.apache.org/licenses/LICENSE-2.0
     12  *
     13  * Unless required by applicable law or agreed to in writing, software
     14  * distributed under the License is distributed on an "AS IS" BASIS,
     15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     16  * See the License for the specific language governing permissions and
     17  * limitations under the License.
     18  *
     19  *//*!
     20  * \file
     21  * \brief EGL common defines and types
     22  *//*--------------------------------------------------------------------*/
     23 
     24 #include "egluStaticESLibrary.hpp"
     25 #include "tcuFunctionLibrary.hpp"
     26 
     27 #define STATIC_LIB_NONE	0
     28 #define STATIC_LIB_ES20	1
     29 #define STATIC_LIB_ES30	2
     30 
     31 #if defined(DEQP_SUPPORT_GLES3) && !defined(DEQP_GLES3_RUNTIME_LOAD)
     32 #	if (DE_OS == DE_OS_IOS)
     33 #		include <OpenGLES/ES3/gl.h>
     34 #	else
     35 #		include <GLES3/gl3.h>
     36 #	endif
     37 #	define STATIC_LIB STATIC_LIB_ES30
     38 #elif defined(DEQP_SUPPORT_GLES2) && !defined(DEQP_GLES2_RUNTIME_LOAD)
     39 #	if (DE_OS == DE_OS_IOS)
     40 #		include <OpenGLES/ES2/gl.h>
     41 #	else
     42 #		include <GLES2/gl2.h>
     43 #	endif
     44 #	define STATIC_LIB STATIC_LIB_ES20
     45 #else
     46 #	define STATIC_LIB STATIC_LIB_NONE
     47 #endif
     48 
     49 // \todo [2014-03-14 pyry] ES3.1 support
     50 
     51 namespace eglu
     52 {
     53 
     54 tcu::FunctionLibrary* createStaticESLibrary (void)
     55 {
     56 #if (STATIC_LIB == STATIC_LIB_NONE)
     57 	return new tcu::StaticFunctionLibrary(DE_NULL, 0);
     58 #else
     59 	static const tcu::StaticFunctionLibrary::Entry s_functions[] =
     60 	{
     61 #if (STATIC_LIB == STATIC_LIB_ES30)
     62 #	include "egluStaticES30Library.inl"
     63 #elif (STATIC_LIB == STATIC_LIB_ES20)
     64 #	include "egluStaticES20Library.inl"
     65 #else
     66 #	error "Unknown STATIC_LIB value"
     67 #endif
     68 	};
     69 
     70 	return new tcu::StaticFunctionLibrary(&s_functions[0], DE_LENGTH_OF_ARRAY(s_functions));
     71 #endif
     72 }
     73 
     74 } // eglu
     75