mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2025-02-17 20:31:57 -05:00
Fixed GL imports.
This commit is contained in:
parent
929873983f
commit
5b4d4b37fa
7 changed files with 182 additions and 164 deletions
|
@ -12,7 +12,7 @@
|
|||
|
||||
namespace bgfx
|
||||
{
|
||||
# define GL_IMPORT(_optional, _proto, _func) _proto _func
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) _proto _func
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
||||
|
@ -110,11 +110,11 @@ namespace bgfx
|
|||
void GlContext::import()
|
||||
{
|
||||
# if !BX_PLATFORM_EMSCRIPTEN
|
||||
# define GL_IMPORT(_optional, _proto, _func) \
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) \
|
||||
{ \
|
||||
_func = (_proto)eglGetProcAddress(#_func); \
|
||||
BX_TRACE(#_func " 0x%08x", _func); \
|
||||
BGFX_FATAL(_optional || NULL != _func, Fatal::UnableToInitialize, "Failed to create OpenGLES context. eglGetProcAddress(\"%s\")", #_func); \
|
||||
_func = (_proto)eglGetProcAddress(#_import); \
|
||||
BX_TRACE(#_import " 0x%08x", _func); \
|
||||
BGFX_FATAL(_optional || NULL != _func, Fatal::UnableToInitialize, "Failed to create OpenGLES context. eglGetProcAddress(\"%s\")", #_import); \
|
||||
}
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace bgfx
|
|||
PFNGLXSWAPINTERVALMESAPROC glXSwapIntervalMESA;
|
||||
PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI;
|
||||
|
||||
# define GL_IMPORT(_optional, _proto, _func) _proto _func
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) _proto _func
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
||||
|
@ -219,10 +219,10 @@ namespace bgfx
|
|||
|
||||
void GlContext::import()
|
||||
{
|
||||
# define GL_IMPORT(_optional, _proto, _func) \
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) \
|
||||
{ \
|
||||
_func = (_proto)glXGetProcAddress((const GLubyte*)#_func); \
|
||||
BGFX_FATAL(_optional || NULL != _func, Fatal::UnableToInitialize, "Failed to create OpenGL context. glXGetProcAddress %s", #_func); \
|
||||
_func = (_proto)glXGetProcAddress((const GLubyte*)#_import); \
|
||||
BGFX_FATAL(_optional || NULL != _func, Fatal::UnableToInitialize, "Failed to create OpenGL context. glXGetProcAddress %s", #_import); \
|
||||
}
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
namespace bgfx
|
||||
{
|
||||
# define GL_IMPORT(_optional, _proto, _func) _proto _func
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) _proto _func
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace bgfx
|
|||
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB;
|
||||
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
|
||||
|
||||
# define GL_IMPORT(_optional, _proto, _func) _proto _func
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) _proto _func
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
||||
|
@ -273,14 +273,15 @@ namespace bgfx
|
|||
|
||||
void GlContext::import()
|
||||
{
|
||||
# define GL_IMPORT(_optional, _proto, _func) \
|
||||
# define GL_IMPORT(_optional, _proto, _func, _import) \
|
||||
{ \
|
||||
_func = (_proto)wglGetProcAddress(#_func); \
|
||||
BX_TRACE("%s", #_import); \
|
||||
_func = (_proto)wglGetProcAddress(#_import); \
|
||||
if (_func == NULL) \
|
||||
{ \
|
||||
_func = (_proto)bx::dlsym(m_opengl32dll, #_func); \
|
||||
_func = (_proto)bx::dlsym(m_opengl32dll, #_import); \
|
||||
} \
|
||||
BGFX_FATAL(_optional || NULL != _func, Fatal::UnableToInitialize, "Failed to create OpenGL context. wglGetProcAddress(\"%s\")", #_func); \
|
||||
BGFX_FATAL(_optional || NULL != _func, Fatal::UnableToInitialize, "Failed to create OpenGL context. wglGetProcAddress(\"%s\")", #_import); \
|
||||
}
|
||||
# include "glimports.h"
|
||||
# undef GL_IMPORT
|
||||
|
|
305
src/glimports.h
305
src/glimports.h
|
@ -1,156 +1,176 @@
|
|||
/*
|
||||
* Copyright 2011-2013 Branimir Karadzic. All rights reserved.
|
||||
* License: http://www.opensource.org/licenses/BSD-2-Clause
|
||||
*/
|
||||
* Copyright 2011-2013 Branimir Karadzic. All rights reserved.
|
||||
* License: http://www.opensource.org/licenses/BSD-2-Clause
|
||||
*/
|
||||
|
||||
#ifndef GL_IMPORT
|
||||
# error GL_IMPORT(_optional, _proto, _func) must be defined!
|
||||
# error GL_IMPORT(_optional, _proto, _func, _import) must be defined!
|
||||
#endif // GL_IMPORT
|
||||
|
||||
#define GL_IMPORT____(_optional, _proto, _func) GL_IMPORT(_optional, _proto, _func, _func)
|
||||
#define GL_IMPORT_ARB(_optional, _proto, _func) GL_IMPORT(_optional, _proto, _func, _func ## ARB)
|
||||
#define GL_IMPORT_EXT(_optional, _proto, _func) GL_IMPORT(_optional, _proto, _func, _func ## EXT)
|
||||
|
||||
#if BGFX_CONFIG_RENDERER_OPENGL
|
||||
// OpenGL 2.1 Reference Pages
|
||||
// http://www.opengl.org/sdk/docs/man/
|
||||
|
||||
#if BX_PLATFORM_WINDOWS
|
||||
GL_IMPORT(false, PFNGLGETERRORPROC, glGetError);
|
||||
GL_IMPORT(false, PFNGLREADPIXELSPROC, glReadPixels);
|
||||
GL_IMPORT(false, PFNGLTEXIMAGE2DPROC, glTexImage2D);
|
||||
GL_IMPORT(false, PFNGLTEXSUBIMAGE2DPROC, glTexSubImage2D);
|
||||
GL_IMPORT(false, PFNGLPIXELSTOREIPROC, glPixelStorei);
|
||||
GL_IMPORT(false, PFNGLTEXPARAMETERIPROC, glTexParameteri);
|
||||
GL_IMPORT(false, PFNGLTEXPARAMETERIVPROC, glTexParameteriv);
|
||||
GL_IMPORT(false, PFNGLTEXPARAMETERFPROC, glTexParameterf);
|
||||
GL_IMPORT(false, PFNGLBINDTEXTUREPROC, glBindTexture);
|
||||
GL_IMPORT(false, PFNGLGENTEXTURESPROC, glGenTextures);
|
||||
GL_IMPORT(false, PFNGLDELETETEXTURESPROC, glDeleteTextures);
|
||||
GL_IMPORT(false, PFNGLCOLORMASKPROC, glColorMask);
|
||||
GL_IMPORT(false, PFNGLDEPTHFUNCPROC, glDepthFunc);
|
||||
GL_IMPORT(false, PFNGLDISABLEPROC, glDisable);
|
||||
GL_IMPORT(false, PFNGLVIEWPORTPROC, glViewport);
|
||||
GL_IMPORT(false, PFNGLDRAWELEMENTSPROC, glDrawElements);
|
||||
GL_IMPORT(false, PFNGLGETINTEGERVPROC, glGetIntegerv);
|
||||
GL_IMPORT(false, PFNGLGETFLOATVPROC, glGetFloatv);
|
||||
GL_IMPORT(false, PFNGLGETSTRINGPROC, glGetString);
|
||||
GL_IMPORT(false, PFNGLDRAWARRAYSPROC, glDrawArrays);
|
||||
GL_IMPORT(false, PFNGLBLENDFUNCPROC, glBlendFunc);
|
||||
GL_IMPORT(false, PFNGLBLENDEQUATIONPROC, glBlendEquation);
|
||||
GL_IMPORT(false, PFNGLPOINTSIZEPROC, glPointSize);
|
||||
GL_IMPORT(false, PFNGLCULLFACEPROC, glCullFace);
|
||||
GL_IMPORT(false, PFNGLCLEARPROC, glClear);
|
||||
GL_IMPORT(false, PFNGLSCISSORPROC, glScissor);
|
||||
GL_IMPORT(false, PFNGLENABLEPROC, glEnable);
|
||||
GL_IMPORT(false, PFNGLCLEARSTENCILPROC, glClearStencil);
|
||||
GL_IMPORT(false, PFNGLDEPTHMASKPROC, glDepthMask);
|
||||
GL_IMPORT(false, PFNGLCLEARDEPTHPROC, glClearDepth);
|
||||
GL_IMPORT(false, PFNGLCLEARCOLORPROC, glClearColor);
|
||||
GL_IMPORT(false, PFNGLSTENCILFUNCPROC, glStencilFunc);
|
||||
GL_IMPORT(false, PFNGLSTENCILMASKPROC, glStencilMask);
|
||||
GL_IMPORT(false, PFNGLSTENCILOPPROC, glStencilOp);
|
||||
GL_IMPORT____(false, PFNGLGETERRORPROC, glGetError);
|
||||
GL_IMPORT____(false, PFNGLREADPIXELSPROC, glReadPixels);
|
||||
GL_IMPORT____(false, PFNGLTEXIMAGE2DPROC, glTexImage2D);
|
||||
GL_IMPORT____(false, PFNGLTEXSUBIMAGE2DPROC, glTexSubImage2D);
|
||||
GL_IMPORT____(false, PFNGLPIXELSTOREIPROC, glPixelStorei);
|
||||
GL_IMPORT____(false, PFNGLTEXPARAMETERIPROC, glTexParameteri);
|
||||
GL_IMPORT____(false, PFNGLTEXPARAMETERIVPROC, glTexParameteriv);
|
||||
GL_IMPORT____(false, PFNGLTEXPARAMETERFPROC, glTexParameterf);
|
||||
GL_IMPORT____(false, PFNGLBINDTEXTUREPROC, glBindTexture);
|
||||
GL_IMPORT____(false, PFNGLGENTEXTURESPROC, glGenTextures);
|
||||
GL_IMPORT____(false, PFNGLDELETETEXTURESPROC, glDeleteTextures);
|
||||
GL_IMPORT____(false, PFNGLCOLORMASKPROC, glColorMask);
|
||||
GL_IMPORT____(false, PFNGLDEPTHFUNCPROC, glDepthFunc);
|
||||
GL_IMPORT____(false, PFNGLDISABLEPROC, glDisable);
|
||||
GL_IMPORT____(false, PFNGLVIEWPORTPROC, glViewport);
|
||||
GL_IMPORT____(false, PFNGLDRAWELEMENTSPROC, glDrawElements);
|
||||
GL_IMPORT____(false, PFNGLGETINTEGERVPROC, glGetIntegerv);
|
||||
GL_IMPORT____(false, PFNGLGETFLOATVPROC, glGetFloatv);
|
||||
GL_IMPORT____(false, PFNGLGETSTRINGPROC, glGetString);
|
||||
GL_IMPORT____(false, PFNGLDRAWARRAYSPROC, glDrawArrays);
|
||||
GL_IMPORT____(false, PFNGLBLENDFUNCPROC, glBlendFunc);
|
||||
GL_IMPORT____(false, PFNGLBLENDEQUATIONPROC, glBlendEquation);
|
||||
GL_IMPORT____(false, PFNGLPOINTSIZEPROC, glPointSize);
|
||||
GL_IMPORT____(false, PFNGLCULLFACEPROC, glCullFace);
|
||||
GL_IMPORT____(false, PFNGLCLEARPROC, glClear);
|
||||
GL_IMPORT____(false, PFNGLSCISSORPROC, glScissor);
|
||||
GL_IMPORT____(false, PFNGLENABLEPROC, glEnable);
|
||||
GL_IMPORT____(false, PFNGLCLEARSTENCILPROC, glClearStencil);
|
||||
GL_IMPORT____(false, PFNGLDEPTHMASKPROC, glDepthMask);
|
||||
GL_IMPORT____(false, PFNGLCLEARDEPTHPROC, glClearDepth);
|
||||
GL_IMPORT____(false, PFNGLCLEARCOLORPROC, glClearColor);
|
||||
GL_IMPORT____(false, PFNGLSTENCILFUNCPROC, glStencilFunc);
|
||||
GL_IMPORT____(false, PFNGLSTENCILMASKPROC, glStencilMask);
|
||||
GL_IMPORT____(false, PFNGLSTENCILOPPROC, glStencilOp);
|
||||
#endif // BX_PLATFORM_WINDOWS
|
||||
|
||||
GL_IMPORT(false, PFNGLACTIVETEXTUREPROC, glActiveTexture);
|
||||
GL_IMPORT(false, PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D);
|
||||
GL_IMPORT(false, PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2D);
|
||||
GL_IMPORT(false, PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D);
|
||||
GL_IMPORT(false, PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D);
|
||||
GL_IMPORT(false, PFNGLBINDBUFFERPROC, glBindBuffer);
|
||||
GL_IMPORT(false, PFNGLDELETEBUFFERSPROC, glDeleteBuffers);
|
||||
GL_IMPORT(false, PFNGLGENBUFFERSPROC, glGenBuffers);
|
||||
GL_IMPORT(false, PFNGLBUFFERDATAPROC, glBufferData);
|
||||
GL_IMPORT(false, PFNGLBUFFERSUBDATAPROC, glBufferSubData);
|
||||
GL_IMPORT(false, PFNGLCREATEPROGRAMPROC, glCreateProgram);
|
||||
GL_IMPORT(false, PFNGLCREATESHADERPROC, glCreateShader);
|
||||
GL_IMPORT(false, PFNGLDELETEPROGRAMPROC, glDeleteProgram);
|
||||
GL_IMPORT(false, PFNGLDELETESHADERPROC, glDeleteShader);
|
||||
GL_IMPORT(false, PFNGLATTACHSHADERPROC, glAttachShader);
|
||||
GL_IMPORT(false, PFNGLDETACHSHADERPROC, glDetachShader);
|
||||
GL_IMPORT(false, PFNGLCOMPILESHADERPROC, glCompileShader);
|
||||
GL_IMPORT(false, PFNGLSHADERSOURCEPROC, glShaderSource);
|
||||
GL_IMPORT(false, PFNGLGETSHADERIVPROC, glGetShaderiv);
|
||||
GL_IMPORT(false, PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog);
|
||||
GL_IMPORT(false, PFNGLLINKPROGRAMPROC, glLinkProgram);
|
||||
GL_IMPORT(false, PFNGLGETPROGRAMIVPROC, glGetProgramiv);
|
||||
GL_IMPORT(false, PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog);
|
||||
GL_IMPORT(false, PFNGLUSEPROGRAMPROC, glUseProgram);
|
||||
GL_IMPORT(false, PFNGLGETACTIVEATTRIBPROC, glGetActiveAttrib);
|
||||
GL_IMPORT(false, PFNGLGETATTRIBLOCATIONPROC, glGetAttribLocation);
|
||||
GL_IMPORT(false, PFNGLGETACTIVEUNIFORMPROC, glGetActiveUniform);
|
||||
GL_IMPORT(false, PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation);
|
||||
GL_IMPORT(false, PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray);
|
||||
GL_IMPORT(false, PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray);
|
||||
GL_IMPORT(false, PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);
|
||||
GL_IMPORT(false, PFNGLVERTEXATTRIB1FPROC, glVertexAttrib1f);
|
||||
GL_IMPORT(false, PFNGLVERTEXATTRIB2FPROC, glVertexAttrib2f);
|
||||
GL_IMPORT(false, PFNGLVERTEXATTRIB3FPROC, glVertexAttrib3f);
|
||||
GL_IMPORT(false, PFNGLVERTEXATTRIB4FPROC, glVertexAttrib4f);
|
||||
GL_IMPORT(false, PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer);
|
||||
GL_IMPORT(false, PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers);
|
||||
GL_IMPORT(false, PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers);
|
||||
GL_IMPORT(false, PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus);
|
||||
GL_IMPORT(false, PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer);
|
||||
GL_IMPORT(false, PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D);
|
||||
GL_IMPORT(false, PFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer);
|
||||
GL_IMPORT(false, PFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers);
|
||||
GL_IMPORT(false, PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers);
|
||||
GL_IMPORT(false, PFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage);
|
||||
GL_IMPORT(false, PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC, glRenderbufferStorageMultisample);
|
||||
GL_IMPORT(false, PFNGLUNIFORM1IPROC, glUniform1i);
|
||||
GL_IMPORT(false, PFNGLUNIFORM1IVPROC, glUniform1iv);
|
||||
GL_IMPORT(false, PFNGLUNIFORM1FPROC, glUniform1f);
|
||||
GL_IMPORT(false, PFNGLUNIFORM1FVPROC, glUniform1fv);
|
||||
GL_IMPORT(false, PFNGLUNIFORM2FVPROC, glUniform2fv);
|
||||
GL_IMPORT(false, PFNGLUNIFORM3FVPROC, glUniform3fv);
|
||||
GL_IMPORT(false, PFNGLUNIFORM4FVPROC, glUniform4fv);
|
||||
GL_IMPORT(false, PFNGLUNIFORMMATRIX3FVPROC, glUniformMatrix3fv);
|
||||
GL_IMPORT(false, PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv);
|
||||
GL_IMPORT(false, PFNGLTEXIMAGE3DPROC, glTexImage3D);
|
||||
GL_IMPORT(false, PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D);
|
||||
GL_IMPORT(false, PFNGLCOPYTEXSUBIMAGE3DPROC, glCopyTexSubImage3D);
|
||||
GL_IMPORT____(false, PFNGLACTIVETEXTUREPROC, glActiveTexture);
|
||||
GL_IMPORT____(false, PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D);
|
||||
GL_IMPORT____(false, PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2D);
|
||||
GL_IMPORT____(false, PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D);
|
||||
GL_IMPORT____(false, PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D);
|
||||
GL_IMPORT____(false, PFNGLBINDBUFFERPROC, glBindBuffer);
|
||||
GL_IMPORT____(false, PFNGLDELETEBUFFERSPROC, glDeleteBuffers);
|
||||
GL_IMPORT____(false, PFNGLGENBUFFERSPROC, glGenBuffers);
|
||||
GL_IMPORT____(false, PFNGLBUFFERDATAPROC, glBufferData);
|
||||
GL_IMPORT____(false, PFNGLBUFFERSUBDATAPROC, glBufferSubData);
|
||||
GL_IMPORT____(false, PFNGLCREATEPROGRAMPROC, glCreateProgram);
|
||||
GL_IMPORT____(false, PFNGLCREATESHADERPROC, glCreateShader);
|
||||
GL_IMPORT____(false, PFNGLDELETEPROGRAMPROC, glDeleteProgram);
|
||||
GL_IMPORT____(false, PFNGLDELETESHADERPROC, glDeleteShader);
|
||||
GL_IMPORT____(false, PFNGLATTACHSHADERPROC, glAttachShader);
|
||||
GL_IMPORT____(false, PFNGLDETACHSHADERPROC, glDetachShader);
|
||||
GL_IMPORT____(false, PFNGLCOMPILESHADERPROC, glCompileShader);
|
||||
GL_IMPORT____(false, PFNGLSHADERSOURCEPROC, glShaderSource);
|
||||
GL_IMPORT____(false, PFNGLGETSHADERIVPROC, glGetShaderiv);
|
||||
GL_IMPORT____(false, PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog);
|
||||
GL_IMPORT____(false, PFNGLLINKPROGRAMPROC, glLinkProgram);
|
||||
GL_IMPORT____(false, PFNGLGETPROGRAMIVPROC, glGetProgramiv);
|
||||
GL_IMPORT____(false, PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog);
|
||||
GL_IMPORT____(false, PFNGLUSEPROGRAMPROC, glUseProgram);
|
||||
GL_IMPORT____(false, PFNGLGETACTIVEATTRIBPROC, glGetActiveAttrib);
|
||||
GL_IMPORT____(false, PFNGLGETATTRIBLOCATIONPROC, glGetAttribLocation);
|
||||
GL_IMPORT____(false, PFNGLGETACTIVEUNIFORMPROC, glGetActiveUniform);
|
||||
GL_IMPORT____(false, PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation);
|
||||
GL_IMPORT____(false, PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray);
|
||||
GL_IMPORT____(false, PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray);
|
||||
GL_IMPORT____(false, PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer);
|
||||
GL_IMPORT____(false, PFNGLVERTEXATTRIB1FPROC, glVertexAttrib1f);
|
||||
GL_IMPORT____(false, PFNGLVERTEXATTRIB2FPROC, glVertexAttrib2f);
|
||||
GL_IMPORT____(false, PFNGLVERTEXATTRIB3FPROC, glVertexAttrib3f);
|
||||
GL_IMPORT____(false, PFNGLVERTEXATTRIB4FPROC, glVertexAttrib4f);
|
||||
|
||||
GL_IMPORT(false, PFNGLGENQUERIESPROC, glGenQueries);
|
||||
GL_IMPORT(false, PFNGLDELETEQUERIESPROC, glDeleteQueries);
|
||||
GL_IMPORT(false, PFNGLBEGINQUERYPROC, glBeginQuery);
|
||||
GL_IMPORT(false, PFNGLENDQUERYPROC, glEndQuery);
|
||||
GL_IMPORT(false, PFNGLGETQUERYIVPROC, glGetQueryiv);
|
||||
GL_IMPORT(false, PFNGLGETQUERYOBJECTIVPROC, glGetQueryObjectiv);
|
||||
GL_IMPORT(false, PFNGLGETQUERYOBJECTUIVPROC, glGetQueryObjectuiv);
|
||||
#if BGFX_CONFIG_RENDERER_OPENGL >= 31
|
||||
GL_IMPORT____(false, PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer);
|
||||
GL_IMPORT____(false, PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers);
|
||||
GL_IMPORT____(false, PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers);
|
||||
GL_IMPORT____(false, PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus);
|
||||
GL_IMPORT____(false, PFNGLFRAMEBUFFERRENDERBUFFERPROC, glFramebufferRenderbuffer);
|
||||
GL_IMPORT____(false, PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D);
|
||||
GL_IMPORT____(false, PFNGLBINDRENDERBUFFERPROC, glBindRenderbuffer);
|
||||
GL_IMPORT____(false, PFNGLGENRENDERBUFFERSPROC, glGenRenderbuffers);
|
||||
GL_IMPORT____(false, PFNGLDELETERENDERBUFFERSPROC, glDeleteRenderbuffers);
|
||||
GL_IMPORT____(false, PFNGLRENDERBUFFERSTORAGEPROC, glRenderbufferStorage);
|
||||
GL_IMPORT____(false, PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC, glRenderbufferStorageMultisample);
|
||||
#else
|
||||
GL_IMPORT_EXT(false, PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebuffer);
|
||||
GL_IMPORT_EXT(false, PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffers);
|
||||
GL_IMPORT_EXT(false, PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffers);
|
||||
GL_IMPORT_EXT(false, PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatus);
|
||||
GL_IMPORT_EXT(false, PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbuffer);
|
||||
GL_IMPORT_EXT(false, PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2D);
|
||||
GL_IMPORT_EXT(false, PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbuffer);
|
||||
GL_IMPORT_EXT(false, PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffers);
|
||||
GL_IMPORT_EXT(false, PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffers);
|
||||
GL_IMPORT_EXT(false, PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorage);
|
||||
GL_IMPORT_EXT(false, PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisample);
|
||||
#endif // BGFX_CONFIG_RENDERER_OPENGL >= 31
|
||||
|
||||
GL_IMPORT(true, PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary);
|
||||
GL_IMPORT(true, PFNGLPROGRAMBINARYPROC, glProgramBinary);
|
||||
GL_IMPORT(true, PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM1IPROC, glUniform1i);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM1IVPROC, glUniform1iv);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM1FPROC, glUniform1f);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM1FVPROC, glUniform1fv);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM2FVPROC, glUniform2fv);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM3FVPROC, glUniform3fv);
|
||||
GL_IMPORT____(false, PFNGLUNIFORM4FVPROC, glUniform4fv);
|
||||
GL_IMPORT____(false, PFNGLUNIFORMMATRIX3FVPROC, glUniformMatrix3fv);
|
||||
GL_IMPORT____(false, PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv);
|
||||
GL_IMPORT____(false, PFNGLTEXIMAGE3DPROC, glTexImage3D);
|
||||
GL_IMPORT____(false, PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D);
|
||||
GL_IMPORT____(false, PFNGLCOPYTEXSUBIMAGE3DPROC, glCopyTexSubImage3D);
|
||||
|
||||
GL_IMPORT(true, PFNGLBLITFRAMEBUFFERPROC, glBlitFramebuffer);
|
||||
GL_IMPORT____(false, PFNGLGENQUERIESPROC, glGenQueries);
|
||||
GL_IMPORT____(false, PFNGLDELETEQUERIESPROC, glDeleteQueries);
|
||||
GL_IMPORT____(false, PFNGLBEGINQUERYPROC, glBeginQuery);
|
||||
GL_IMPORT____(false, PFNGLENDQUERYPROC, glEndQuery);
|
||||
GL_IMPORT____(false, PFNGLGETQUERYIVPROC, glGetQueryiv);
|
||||
GL_IMPORT____(false, PFNGLGETQUERYOBJECTIVPROC, glGetQueryObjectiv);
|
||||
GL_IMPORT____(false, PFNGLGETQUERYOBJECTUIVPROC, glGetQueryObjectuiv);
|
||||
|
||||
GL_IMPORT(true, PFNGLQUERYCOUNTERPROC, glQueryCounter);
|
||||
GL_IMPORT(true, PFNGLGETQUERYOBJECTI64VPROC, glGetQueryObjecti64v);
|
||||
GL_IMPORT(true, PFNGLGETQUERYOBJECTUI64VPROC, glGetQueryObjectui64v);
|
||||
GL_IMPORT____(true, PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary);
|
||||
GL_IMPORT____(true, PFNGLPROGRAMBINARYPROC, glProgramBinary);
|
||||
GL_IMPORT____(true, PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri);
|
||||
|
||||
GL_IMPORT(true, PFNGLBINDVERTEXARRAYPROC, glBindVertexArray);
|
||||
GL_IMPORT(true, PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays);
|
||||
GL_IMPORT(true, PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays);
|
||||
GL_IMPORT____(true, PFNGLBLITFRAMEBUFFERPROC, glBlitFramebuffer);
|
||||
|
||||
GL_IMPORT(true, PFNGLSTENCILFUNCSEPARATEPROC, glStencilFuncSeparate);
|
||||
GL_IMPORT(true, PFNGLSTENCILMASKSEPARATEPROC, glStencilMaskSeparate);
|
||||
GL_IMPORT(true, PFNGLSTENCILOPSEPARATEPROC, glStencilOpSeparate);
|
||||
GL_IMPORT____(true, PFNGLQUERYCOUNTERPROC, glQueryCounter);
|
||||
GL_IMPORT____(true, PFNGLGETQUERYOBJECTI64VPROC, glGetQueryObjecti64v);
|
||||
GL_IMPORT____(true, PFNGLGETQUERYOBJECTUI64VPROC, glGetQueryObjectui64v);
|
||||
|
||||
GL_IMPORT(true, PFNGLBLENDFUNCSEPARATEPROC, glBlendFuncSeparate);
|
||||
GL_IMPORT(true, PFNGLBLENDEQUATIONSEPARATEPROC, glBlendEquationSeparate);
|
||||
GL_IMPORT(true, PFNGLBLENDCOLORPROC, glBlendColor);
|
||||
GL_IMPORT____(true, PFNGLBINDVERTEXARRAYPROC, glBindVertexArray);
|
||||
GL_IMPORT____(true, PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays);
|
||||
GL_IMPORT____(true, PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays);
|
||||
|
||||
GL_IMPORT(true, PFNGLDEBUGMESSAGECONTROLARBPROC, glDebugMessageControlARB);
|
||||
GL_IMPORT(true, PFNGLDEBUGMESSAGEINSERTARBPROC, glDebugMessageInsertARB);
|
||||
GL_IMPORT(true, PFNGLDEBUGMESSAGECALLBACKARBPROC, glDebugMessageCallbackARB);
|
||||
GL_IMPORT(true, PFNGLGETDEBUGMESSAGELOGARBPROC, glGetDebugMessageLogARB);
|
||||
GL_IMPORT____(true, PFNGLSTENCILFUNCSEPARATEPROC, glStencilFuncSeparate);
|
||||
GL_IMPORT____(true, PFNGLSTENCILMASKSEPARATEPROC, glStencilMaskSeparate);
|
||||
GL_IMPORT____(true, PFNGLSTENCILOPSEPARATEPROC, glStencilOpSeparate);
|
||||
|
||||
GL_IMPORT(true, PFNGLGENSAMPLERSPROC, glGenSamplers);
|
||||
GL_IMPORT(true, PFNGLDELETESAMPLERSPROC, glDeleteSamplers);
|
||||
GL_IMPORT(true, PFNGLBINDSAMPLERPROC, glBindSampler);
|
||||
GL_IMPORT(true, PFNGLSAMPLERPARAMETERIPROC, glSamplerParameteri);
|
||||
GL_IMPORT(true, PFNGLSAMPLERPARAMETERFPROC, glSamplerParameterf);
|
||||
GL_IMPORT____(true, PFNGLBLENDFUNCSEPARATEPROC, glBlendFuncSeparate);
|
||||
GL_IMPORT____(true, PFNGLBLENDEQUATIONSEPARATEPROC, glBlendEquationSeparate);
|
||||
GL_IMPORT____(true, PFNGLBLENDCOLORPROC, glBlendColor);
|
||||
|
||||
GL_IMPORT_ARB(true, PFNGLDEBUGMESSAGECONTROLARBPROC, glDebugMessageControl);
|
||||
GL_IMPORT_ARB(true, PFNGLDEBUGMESSAGEINSERTARBPROC, glDebugMessageInsert);
|
||||
GL_IMPORT_ARB(true, PFNGLDEBUGMESSAGECALLBACKARBPROC, glDebugMessageCallback);
|
||||
GL_IMPORT_ARB(true, PFNGLGETDEBUGMESSAGELOGARBPROC, glGetDebugMessageLog);
|
||||
|
||||
GL_IMPORT____(true, PFNGLGENSAMPLERSPROC, glGenSamplers);
|
||||
GL_IMPORT____(true, PFNGLDELETESAMPLERSPROC, glDeleteSamplers);
|
||||
GL_IMPORT____(true, PFNGLBINDSAMPLERPROC, glBindSampler);
|
||||
GL_IMPORT____(true, PFNGLSAMPLERPARAMETERIPROC, glSamplerParameteri);
|
||||
GL_IMPORT____(true, PFNGLSAMPLERPARAMETERFPROC, glSamplerParameterf);
|
||||
|
||||
#if BGFX_CONFIG_DEBUG_GREMEDY
|
||||
GL_IMPORT(true, PFNGLSTRINGMARKERGREMEDYPROC, glStringMarkerGREMEDY);
|
||||
GL_IMPORT(true, PFNGLFRAMETERMINATORGREMEDYPROC, glFrameTerminatorGREMEDY);
|
||||
GL_IMPORT____(true, PFNGLSTRINGMARKERGREMEDYPROC, glStringMarkerGREMEDY);
|
||||
GL_IMPORT____(true, PFNGLFRAMETERMINATORGREMEDYPROC, glFrameTerminatorGREMEDY);
|
||||
#endif // BGFX_CONFIG_DEBUG_GREMEDY
|
||||
|
||||
#elif BGFX_CONFIG_RENDERER_OPENGLES2
|
||||
|
@ -158,22 +178,23 @@ GL_IMPORT(true, PFNGLFRAMETERMINATORGREMEDYPROC, glFrameTerminatorGREME
|
|||
// OpenGL ES 2.0 Reference Pages
|
||||
// http://www.khronos.org/opengles/sdk/docs/man/
|
||||
|
||||
GL_IMPORT(true, PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC, glGetTranslatedShaderSourceANGLE);
|
||||
GL_IMPORT(true, PFNGLGETPROGRAMBINARYOESPROC, glGetProgramBinaryOES);
|
||||
GL_IMPORT(true, PFNGLPROGRAMBINARYOESPROC, glProgramBinaryOES);
|
||||
GL_IMPORT____(true, PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC, glGetTranslatedShaderSourceANGLE);
|
||||
GL_IMPORT____(true, PFNGLGETPROGRAMBINARYOESPROC, glGetProgramBinaryOES);
|
||||
GL_IMPORT____(true, PFNGLPROGRAMBINARYOESPROC, glProgramBinaryOES);
|
||||
|
||||
GL_IMPORT(true, PFNGLBINDVERTEXARRAYOESPROC, glBindVertexArrayOES);
|
||||
GL_IMPORT(true, PFNGLDELETEVERTEXARRAYSOESPROC, glDeleteVertexArraysOES);
|
||||
GL_IMPORT(true, PFNGLGENVERTEXARRAYSOESPROC, glGenVertexArraysOES);
|
||||
GL_IMPORT____(true, PFNGLBINDVERTEXARRAYOESPROC, glBindVertexArrayOES);
|
||||
GL_IMPORT____(true, PFNGLDELETEVERTEXARRAYSOESPROC, glDeleteVertexArraysOES);
|
||||
GL_IMPORT____(true, PFNGLGENVERTEXARRAYSOESPROC, glGenVertexArraysOES);
|
||||
|
||||
#endif // BGFX_CONFIG_RENDERER_
|
||||
|
||||
#if BGFX_CONFIG_RENDERER_OPENGL
|
||||
GL_IMPORT(true, PFNGLVERTEXATTRIBDIVISORBGFXPROC, glVertexAttribDivisorARB);
|
||||
GL_IMPORT(true, PFNGLDRAWARRAYSINSTANCEDBGFXPROC, glDrawArraysInstancedARB);
|
||||
GL_IMPORT(true, PFNGLDRAWELEMENTSINSTANCEDBGFXPROC, glDrawElementsInstancedARB);
|
||||
GL_IMPORT_ARB(true, PFNGLVERTEXATTRIBDIVISORBGFXPROC, glVertexAttribDivisor);
|
||||
GL_IMPORT_ARB(true, PFNGLDRAWARRAYSINSTANCEDBGFXPROC, glDrawArraysInstanced);
|
||||
GL_IMPORT_ARB(true, PFNGLDRAWELEMENTSINSTANCEDBGFXPROC, glDrawElementsInstanced);
|
||||
#elif BGFX_CONFIG_RENDERER_OPENGLES2
|
||||
GL_IMPORT(true, PFNGLVERTEXATTRIBDIVISORBGFXPROC, glVertexAttribDivisor);
|
||||
GL_IMPORT(true, PFNGLDRAWARRAYSINSTANCEDBGFXPROC, glDrawArraysInstanced);
|
||||
GL_IMPORT(true, PFNGLDRAWELEMENTSINSTANCEDBGFXPROC, glDrawElementsInstanced);
|
||||
GL_IMPORT____(true, PFNGLVERTEXATTRIBDIVISORBGFXPROC, glVertexAttribDivisor);
|
||||
GL_IMPORT____(true, PFNGLDRAWARRAYSINSTANCEDBGFXPROC, glDrawArraysInstanced);
|
||||
GL_IMPORT____(true, PFNGLDRAWELEMENTSINSTANCEDBGFXPROC, glDrawElementsInstanced);
|
||||
#endif // !BGFX_CONFIG_RENDERER_OPENGLES3
|
||||
|
||||
|
|
|
@ -2538,8 +2538,8 @@ namespace bgfx
|
|||
|
||||
if (s_extension[Extension::ARB_debug_output].m_supported)
|
||||
{
|
||||
GL_CHECK(glDebugMessageCallbackARB(debugProcCb, NULL) );
|
||||
GL_CHECK(glDebugMessageControlARB(GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_MEDIUM_ARB, 0, NULL, GL_TRUE) );
|
||||
GL_CHECK(glDebugMessageCallback(debugProcCb, NULL) );
|
||||
GL_CHECK(glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_MEDIUM_ARB, 0, NULL, GL_TRUE) );
|
||||
}
|
||||
|
||||
if (s_extension[Extension::ARB_seamless_cube_map].m_supported)
|
||||
|
|
|
@ -38,10 +38,6 @@
|
|||
# include <gl/glext.h>
|
||||
# endif // BGFX_CONFIG_RENDERER_OPENGL >= 31
|
||||
|
||||
# define glVertexAttribDivisor glVertexAttribDivisorARB
|
||||
# define glDrawArraysInstanced glDrawArraysInstancedARB
|
||||
# define glDrawElementsInstanced glDrawElementsInstancedARB
|
||||
|
||||
# if BX_PLATFORM_WINDOWS
|
||||
# undef BGFX_USE_WGL
|
||||
# define BGFX_USE_WGL 1
|
||||
|
@ -315,7 +311,7 @@ namespace bgfx
|
|||
#define GREMEDY_SETMARKER(_string) _GREMEDY_SETMARKER(_string)
|
||||
#define GREMEDY_FRAMETERMINATOR() _GREMEDY_FRAMETERMINATOR()
|
||||
|
||||
#define GL_IMPORT(_optional, _proto, _func) extern _proto _func
|
||||
#define GL_IMPORT(_optional, _proto, _func, _import) extern _proto _func
|
||||
#include "glimports.h"
|
||||
#undef GL_IMPORT
|
||||
|
||||
|
|
Loading…
Reference in a new issue