1 // 2 // Copyright (c) 2017 The Khronos Group Inc. 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 #ifndef _gl_headers_h 17 #define _gl_headers_h 18 19 #define GL_GLEXT_PROTOTYPES 1 20 21 #include <EGL/egl.h> 22 23 #ifdef GLES3 24 #include <GLES3/gl3.h> 25 #else 26 #include <GLES2/gl2.h> 27 #define glTexImage3DOES glTexImage3D 28 #define glUnmapBufferOES glUnmapBuffer 29 #define glMapBufferRangeEXT glMapBufferRange 30 #endif 31 32 #include <GLES2/gl2ext.h> 33 34 // Some macros to minimize the changes in the tests from GL to GLES2 35 #define glGenRenderbuffersEXT glGenRenderbuffers 36 #define glDeleteRenderbuffersEXT glDeleteRenderbuffers 37 #define glBindRenderbufferEXT glBindRenderbuffer 38 #define glRenderbufferStorageEXT glRenderbufferStorage 39 #define glGetRenderbufferParameterivEXT glGetRenderbufferParameteriv 40 #define glCheckFramebufferStatusEXT glCheckFramebufferStatus 41 #define glGenFramebuffersEXT glGenFramebuffers 42 #define glDeleteFramebuffersEXT glDeleteFramebuffers 43 #define glBindFramebufferEXT glBindFramebuffer 44 #define glFramebufferRenderbufferEXT glFramebufferRenderbuffer 45 46 #ifndef GL_ES_VERSION_3_0 47 #define GL_RGBA32F GL_RGBA32F_EXT 48 #define GL_READ_ONLY GL_BUFFER_ACCESS_OES 49 #define GL_HALF_FLOAT_ARB GL_HALF_FLOAT_OES 50 #define GL_BGRA GL_BGRA_EXT 51 #else 52 #define GL_HALF_FLOAT_ARB GL_HALF_FLOAT 53 #endif 54 55 #define glutGetProcAddress eglGetProcAddress 56 57 #define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER 58 #define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE 59 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT GL_RENDERBUFFER_INTERNAL_FORMAT 60 #define GL_RENDERBUFFER_EXT GL_RENDERBUFFER 61 #define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT 62 63 #define GL_RGBA32F_ARB GL_RGBA 64 #define GL_BGRA GL_BGRA_EXT 65 66 typedef unsigned short GLhalf; 67 68 GLboolean gluCheckExtension(const GLubyte *extName, const GLubyte *extString); 69 70 #endif // __gl_headers_h 71 72