mirror of
https://github.com/nigels-com/glew.git
synced 2025-04-20 23:52:55 +00:00
Pass context profile mask and context flags to init functions.
They will be needed to decide if GL functions are deprecated or removed.
This commit is contained in:
parent
a862219acb
commit
bb55cb4b31
@ -46,6 +46,7 @@ if (@ARGV)
|
|||||||
print "#ifdef $extname\n\n";
|
print "#ifdef $extname\n\n";
|
||||||
print "static GLboolean _glewInit_$extname (" . $type .
|
print "static GLboolean _glewInit_$extname (" . $type .
|
||||||
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
|
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
|
||||||
|
print "#ifdef GLEW_MX\n (void)ctx;\n#endif\n (void)context_profile;\n (void)context_flags;\n";
|
||||||
output_decls($functions, \&make_pfn_def_init);
|
output_decls($functions, \&make_pfn_def_init);
|
||||||
print "\n return r;\n}\n\n";
|
print "\n return r;\n}\n\n";
|
||||||
print "#endif /* $extname */\n\n";
|
print "#endif /* $extname */\n\n";
|
||||||
|
@ -15,26 +15,26 @@ extern int memcmp(const void *, const void *, size_t);
|
|||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
# define glewGetContext() ctx
|
# define glewGetContext() ctx
|
||||||
# ifdef _WIN32
|
# ifdef _WIN32
|
||||||
# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx
|
# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx, GLint context_profile, GLint context_flags
|
||||||
# define GLEW_CONTEXT_ARG_VAR_INIT ctx
|
# define GLEW_CONTEXT_ARG_VAR_INIT ctx, context_profile, context_flags
|
||||||
# define wglewGetContext() ctx
|
# define wglewGetContext() ctx
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx
|
# define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx, GLint context_profile, GLint context_flags
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
|
# define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
|
||||||
# else /* _WIN32 */
|
# else /* _WIN32 */
|
||||||
# define GLEW_CONTEXT_ARG_DEF_INIT void
|
# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext *ctx, GLint context_profile, GLint context_flags
|
||||||
# define GLEW_CONTEXT_ARG_VAR_INIT
|
# define GLEW_CONTEXT_ARG_VAR_INIT ctx, context_profile, context_flags
|
||||||
# define glxewGetContext() ctx
|
# define glxewGetContext() ctx
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_INIT void
|
# define GLXEW_CONTEXT_ARG_DEF_INIT GLXEWContext* ctx, GLint context_profile, GLint context_flags
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
|
# define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
|
||||||
# endif /* _WIN32 */
|
# endif /* _WIN32 */
|
||||||
# define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
|
# define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
|
||||||
#else /* GLEW_MX */
|
#else /* GLEW_MX */
|
||||||
# define GLEW_CONTEXT_ARG_DEF_INIT void
|
# define GLEW_CONTEXT_ARG_DEF_INIT GLint context_profile, GLint context_flags
|
||||||
# define GLEW_CONTEXT_ARG_VAR_INIT
|
# define GLEW_CONTEXT_ARG_VAR_INIT context_profile, context_flags
|
||||||
# define GLEW_CONTEXT_ARG_DEF_LIST void
|
# define GLEW_CONTEXT_ARG_DEF_LIST void
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_INIT void
|
# define WGLEW_CONTEXT_ARG_DEF_INIT GLint context_profile, GLint context_flags
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_LIST void
|
# define WGLEW_CONTEXT_ARG_DEF_LIST void
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_INIT void
|
# define GLXEW_CONTEXT_ARG_DEF_INIT GLint context_profile, GLint context_flags
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_LIST void
|
# define GLXEW_CONTEXT_ARG_DEF_LIST void
|
||||||
#endif /* GLEW_MX */
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
|
@ -65,6 +65,8 @@ GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
const GLubyte* extStart;
|
const GLubyte* extStart;
|
||||||
const GLubyte* extEnd;
|
const GLubyte* extEnd;
|
||||||
GLint numExts, ext;
|
GLint numExts, ext;
|
||||||
|
GLint context_flags = 0;
|
||||||
|
GLint context_profile = GL_CONTEXT_COMPATIBILITY_PROFILE_BIT;
|
||||||
|
|
||||||
/* query opengl version */
|
/* query opengl version */
|
||||||
if (!glewGetVersion(&major, &minor))
|
if (!glewGetVersion(&major, &minor))
|
||||||
@ -96,4 +98,11 @@ GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
GLEW_VERSION_1_1 = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
|
GLEW_VERSION_1_1 = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( GLEW_VERSION_3_0 )
|
||||||
|
glGetIntegerv(GL_CONTEXT_FLAGS, &context_flags);
|
||||||
|
if( GLEW_VERSION_3_2 )
|
||||||
|
glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &context_profile);
|
||||||
|
else if( GLEW_VERSION_3_1 && !glewGetExtension("GL_ARB_compatibility"))
|
||||||
|
context_profile = GL_CONTEXT_CORE_PROFILE_BIT;
|
||||||
|
|
||||||
/* initialize core functions */
|
/* initialize core functions */
|
||||||
|
@ -21,6 +21,8 @@ GLenum glxewInit (GLXEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
int major, minor;
|
int major, minor;
|
||||||
const GLubyte* extStart;
|
const GLubyte* extStart;
|
||||||
const GLubyte* extEnd;
|
const GLubyte* extEnd;
|
||||||
|
GLint context_profile = 0, context_flags = 0;
|
||||||
|
|
||||||
/* initialize core GLX 1.2 */
|
/* initialize core GLX 1.2 */
|
||||||
if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY;
|
if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY;
|
||||||
/* initialize flags */
|
/* initialize flags */
|
||||||
|
@ -29,6 +29,8 @@ GLenum GLEWAPIENTRY wglewInit (WGLEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
GLboolean crippled;
|
GLboolean crippled;
|
||||||
const GLubyte* extStart;
|
const GLubyte* extStart;
|
||||||
const GLubyte* extEnd;
|
const GLubyte* extEnd;
|
||||||
|
GLint context_profile = 0, context_flags = 0;
|
||||||
|
|
||||||
/* find wgl extension string query functions */
|
/* find wgl extension string query functions */
|
||||||
_wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB");
|
_wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB");
|
||||||
_wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT");
|
_wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT");
|
||||||
|
Loading…
Reference in New Issue
Block a user