1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00

Add EGL section to GLFunctions.

This commit is contained in:
Sergey Lipskiy 2017-01-27 22:35:48 +07:00
parent 21df8f08e1
commit 05da51d7a8
2 changed files with 100 additions and 1 deletions

View File

@ -1,9 +1,12 @@
#include "GLFunctions.h"
#ifdef OS_WINDOWS
#define glGetProcAddress wglGetProcAddress
#define GL_GET_PROC_ADR(proc_type, proc_name) proc_name = (proc_type) glGetProcAddress(#proc_name)
#elif defined(OS_LINUX)
#include <X11/Xutil.h>
typedef XID GLXContextID;
typedef XID GLXPixmap;
@ -17,13 +20,50 @@ typedef struct __GLXFBConfigRec *GLXFBConfig;
#include <GL/glxext.h>
#define glGetProcAddress glXGetProcAddress
#define GL_GET_PROC_ADR(proc_type, proc_name) proc_name = (proc_type) glGetProcAddress((const GLubyte*)#proc_name)
#elif defined(EGL)
#include <EGL/egl.h>
#include <EGL/eglext.h>
#define glGetProcAddress eglGetProcAddress
#define GL_GET_PROC_ADR(proc_type, proc_name) proc_name = (proc_type) glGetProcAddress(#proc_name)
#endif
//GL Fucntions
#ifdef OS_WINDOWS
PFNGLACTIVETEXTUREPROC glActiveTexture;
PFNGLBLENDCOLORPROC glBlendColor;
#elif defined(EGL)
PFNGLBLENDFUNCPROC glBlendFunc;
PFNGLPIXELSTOREIPROC glPixelStorei;
PFNGLCLEARCOLORPROC glClearColor;
PFNGLCULLFACEPROC glCullFace;
PFNGLDEPTHFUNCPROC glDepthFunc;
PFNGLDEPTHMASKPROC glDepthMask;
PFNGLDISABLEPROC glDisable;
PFNGLENABLEPROC glEnable;
PFNGLPOLYGONOFFSETPROC glPolygonOffset;
PFNGLSCISSORPROC glScissor;
PFNGLVIEWPORTPROC glViewport;
PFNGLBINDTEXTUREPROC glBindTexture;
PFNGLTEXIMAGE2DPROC glTexImage2D;
PFNGLTEXPARAMETERIPROC glTexParameteri;
PFNGLGETINTEGERVPROC glGetIntegerv;
PFNGLGETSTRINGPROC glGetString;
PFNGLREADPIXELSPROC glReadPixels;
PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D;
PFNGLDRAWARRAYSPROC glDrawArrays;
PFNGLGETERRORPROC glGetError;
PFNGLDRAWELEMENTSPROC glDrawElements;
PFNGLLINEWIDTHPROC glLineWidth;
PFNGLCLEARPROC glClear;
PFNGLGETFLOATVPROC glGetFloatv;
PFNGLDELETETEXTURESPROC glDeleteTextures;
PFNGLGENTEXTURESPROC glGenTextures;
PFNGLTEXPARAMETERFPROC glTexParameterf;
#endif
// GLSL functions
PFNGLCREATESHADERPROC glCreateShader;
PFNGLCOMPILESHADERPROC glCompileShader;
PFNGLSHADERSOURCEPROC glShaderSource;
@ -117,7 +157,36 @@ void initGLFunctions()
#ifdef OS_WINDOWS
GL_GET_PROC_ADR(PFNGLACTIVETEXTUREPROC, glActiveTexture);
GL_GET_PROC_ADR(PFNGLBLENDCOLORPROC, glBlendColor);
#elif defined(EGL)
GL_GET_PROC_ADR(PFNGLBLENDFUNCPROC, glBlendFunc);
GL_GET_PROC_ADR(PFNGLPIXELSTOREIPROC, glPixelStorei);
GL_GET_PROC_ADR(PFNGLCLEARCOLORPROC, glClearColor);
GL_GET_PROC_ADR(PFNGLCULLFACEPROC, glCullFace);
GL_GET_PROC_ADR(PFNGLDEPTHFUNCPROC, glDepthFunc);
GL_GET_PROC_ADR(PFNGLDEPTHMASKPROC, glDepthMask);
GL_GET_PROC_ADR(PFNGLDISABLEPROC, glDisable);
GL_GET_PROC_ADR(PFNGLENABLEPROC, glEnable);
GL_GET_PROC_ADR(PFNGLPOLYGONOFFSETPROC, glPolygonOffset);
GL_GET_PROC_ADR(PFNGLSCISSORPROC, glScissor);
GL_GET_PROC_ADR(PFNGLVIEWPORTPROC, glViewport);
GL_GET_PROC_ADR(PFNGLBINDTEXTUREPROC, glBindTexture);
GL_GET_PROC_ADR(PFNGLTEXIMAGE2DPROC, glTexImage2D);
GL_GET_PROC_ADR(PFNGLTEXPARAMETERIPROC, glTexParameteri);
GL_GET_PROC_ADR(PFNGLGETINTEGERVPROC, glGetIntegerv);
GL_GET_PROC_ADR(PFNGLGETSTRINGPROC, glGetString);
GL_GET_PROC_ADR(PFNGLREADPIXELSPROC, glReadPixels);
GL_GET_PROC_ADR(PFNGLTEXSUBIMAGE2DPROC, glTexSubImage2D);
GL_GET_PROC_ADR(PFNGLDRAWARRAYSPROC, glDrawArrays);
GL_GET_PROC_ADR(PFNGLGETERRORPROC, glGetError);
GL_GET_PROC_ADR(PFNGLDRAWELEMENTSPROC, glDrawElements);
GL_GET_PROC_ADR(PFNGLLINEWIDTHPROC, glLineWidth);
GL_GET_PROC_ADR(PFNGLCLEARPROC, glClear);
GL_GET_PROC_ADR(PFNGLGETFLOATVPROC, glGetFloatv);
GL_GET_PROC_ADR(PFNGLDELETETEXTURESPROC, glDeleteTextures);
GL_GET_PROC_ADR(PFNGLGENTEXTURESPROC, glGenTextures);
GL_GET_PROC_ADR(PFNGLTEXPARAMETERFPROC, glTexParameterf);
#endif
GL_GET_PROC_ADR(PFNGLCREATESHADERPROC, glCreateShader);
GL_GET_PROC_ADR(PFNGLCOMPILESHADERPROC, glCompileShader);
GL_GET_PROC_ADR(PFNGLSHADERSOURCEPROC, glShaderSource);

View File

@ -11,6 +11,36 @@
#include <GL/gl.h>
#include <GL/glext.h>
#ifdef EGL
extern PFNGLBLENDFUNCPROC glBlendFunc;
extern PFNGLPIXELSTOREIPROC glPixelStorei;
extern PFNGLCLEARCOLORPROC glClearColor;
extern PFNGLCULLFACEPROC glCullFace;
extern PFNGLDEPTHFUNCPROC glDepthFunc;
extern PFNGLDEPTHMASKPROC glDepthMask;
extern PFNGLDISABLEPROC glDisable;
extern PFNGLENABLEPROC glEnable;
extern PFNGLPOLYGONOFFSETPROC glPolygonOffset;
extern PFNGLSCISSORPROC glScissor;
extern PFNGLVIEWPORTPROC glViewport;
extern PFNGLBINDTEXTUREPROC glBindTexture;
extern PFNGLTEXIMAGE2DPROC glTexImage2D;
extern PFNGLTEXPARAMETERIPROC glTexParameteri;
extern PFNGLGETINTEGERVPROC glGetIntegerv;
extern PFNGLGETSTRINGPROC glGetString;
extern PFNGLREADPIXELSPROC glReadPixels;
extern PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D;
extern PFNGLDRAWARRAYSPROC glDrawArrays;
extern PFNGLGETERRORPROC glGetError;
extern PFNGLDRAWELEMENTSPROC glDrawElements;
extern PFNGLLINEWIDTHPROC glLineWidth;
extern PFNGLCLEARPROC glClear;
extern PFNGLGETFLOATVPROC glGetFloatv;
extern PFNGLDELETETEXTURESPROC glDeleteTextures;
extern PFNGLGENTEXTURESPROC glGenTextures;
extern PFNGLTEXPARAMETERFPROC glTexParameterf;
#endif
#ifdef OS_WINDOWS
extern PFNGLACTIVETEXTUREPROC glActiveTexture;
extern PFNGLBLENDCOLORPROC glBlendColor;