@@ -140,6 +140,7 @@ static bool gl_init_funcs(bool glx)
140140 GETGLXADDR (GetProcAddress );
141141 GETGLXADDR (GetProcAddressARB );
142142 GETGLXPROCADDR (DestroyContext );
143+ GETGLXPROCADDR (CreateWindow );
143144 GETGLXPROCADDR (SwapBuffers );
144145 GETGLXPROCADDR (SwapBuffersMscOML );
145146 GETGLXPROCADDR (CreatePixmap );
@@ -1072,6 +1073,7 @@ void *eglCreateWindowSurface(void *display, void *config, void *win, const intpt
10721073void * glXGetProcAddress (const char * procName );
10731074void * glXGetProcAddressARB (const char * procName );
10741075void glXDestroyContext (void * display , void * context );
1076+ bool glXCreateWindow (void * display , void * config , unsigned long win , const int * attribList );
10751077void glXSwapBuffers (void * display , void * surface );
10761078int64_t glXSwapBuffersMscOML (void * display , void * drawable , int64_t target_msc , int64_t divisor , int64_t remainder );
10771079
@@ -1084,7 +1086,8 @@ static struct {
10841086 ADD_HOOK (glXGetProcAddressARB ),
10851087 ADD_HOOK (glXSwapBuffers ),
10861088 ADD_HOOK (glXSwapBuffersMscOML ),
1087- ADD_HOOK (glXDestroyContext )
1089+ ADD_HOOK (glXDestroyContext ),
1090+ ADD_HOOK (glXCreateWindow )
10881091#undef ADD_HOOK
10891092};
10901093
@@ -1127,6 +1130,17 @@ void glXDestroyContext(void *display, void *context)
11271130 glx_f .DestroyContext (display , context );
11281131}
11291132
1133+ bool glXCreateWindow (void * display , void * config , unsigned long win , const int * attribList )
1134+ {
1135+ if (!gl_init_funcs (/*glx*/ true)) {
1136+ return false;
1137+ }
1138+
1139+ gl_free ();
1140+
1141+ return glx_f .CreateWindow (display , config , win , attribList );
1142+ }
1143+
11301144void glXSwapBuffers (void * display , void * drawable )
11311145{
11321146 if (!gl_init_funcs (/*glx*/ true)) {
0 commit comments