Mercurial > sdl-ios-xcode
comparison src/video/SDL_video.c @ 650:fe445b59d307
We need to lookup the address of glGetString before calling GL_MakeCurrent(),
since the X11 target needs to query for extensions in there...hopefully this
other platforms don't need to have a current context before symbol lookup
works or something strange like that... --ryan.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 12 Jul 2003 13:30:30 +0000 |
parents | 550bccdf04bd |
children | 9c42ee1b7d77 |
comparison
equal
deleted
inserted
replaced
649:81c74904f51f | 650:fe445b59d307 |
---|---|
720 video->UpdateMouse(this); | 720 video->UpdateMouse(this); |
721 } | 721 } |
722 SDL_WM_GrabInput(saved_grab); | 722 SDL_WM_GrabInput(saved_grab); |
723 SDL_GetRelativeMouseState(NULL, NULL); /* Clear first large delta */ | 723 SDL_GetRelativeMouseState(NULL, NULL); /* Clear first large delta */ |
724 | 724 |
725 /* If we're running OpenGL, make the context current */ | |
726 if ( (video->screen->flags & SDL_OPENGL) && | |
727 video->GL_MakeCurrent ) { | |
728 if ( video->GL_MakeCurrent(this) < 0 ) { | |
729 return(NULL); | |
730 } | |
731 } | |
732 | |
733 /* Set up a fake SDL surface for OpenGL "blitting" */ | |
734 if ( (flags & SDL_OPENGLBLIT) == SDL_OPENGLBLIT ) { | |
735 /* Load GL functions for performing the texture updates */ | |
736 #ifdef HAVE_OPENGL | 725 #ifdef HAVE_OPENGL |
726 /* Load GL symbols (before MakeCurrent, where we need glGetString). */ | |
727 if ( flags & (SDL_OPENGL | SDL_OPENGLBLIT) ) { | |
737 #define SDL_PROC(ret,func,params) \ | 728 #define SDL_PROC(ret,func,params) \ |
738 do { \ | 729 do { \ |
739 video->func = SDL_GL_GetProcAddress(#func); \ | 730 video->func = SDL_GL_GetProcAddress(#func); \ |
740 if ( ! video->func ) { \ | 731 if ( ! video->func ) { \ |
741 SDL_SetError("Couldn't load GL function: %s\n", #func); \ | 732 SDL_SetError("Couldn't load GL function: %s\n", #func); \ |
742 return(NULL); \ | 733 return(NULL); \ |
743 } \ | 734 } \ |
744 } while ( 0 ); | 735 } while ( 0 ); |
745 #include "SDL_glfuncs.h" | 736 #include "SDL_glfuncs.h" |
746 #undef SDL_PROC | 737 #undef SDL_PROC |
738 } | |
739 #endif | |
740 | |
741 /* If we're running OpenGL, make the context current */ | |
742 if ( (video->screen->flags & SDL_OPENGL) && | |
743 video->GL_MakeCurrent ) { | |
744 if ( video->GL_MakeCurrent(this) < 0 ) { | |
745 return(NULL); | |
746 } | |
747 } | |
748 | |
749 /* Set up a fake SDL surface for OpenGL "blitting" */ | |
750 if ( (flags & SDL_OPENGLBLIT) == SDL_OPENGLBLIT ) { | |
751 /* Load GL functions for performing the texture updates */ | |
752 #ifdef HAVE_OPENGL | |
747 | 753 |
748 /* Create a software surface for blitting */ | 754 /* Create a software surface for blitting */ |
749 #ifdef GL_VERSION_1_2 | 755 #ifdef GL_VERSION_1_2 |
750 /* If the implementation either supports the packed pixels | 756 /* If the implementation either supports the packed pixels |
751 extension, or implements the core OpenGL 1.2 API, it will | 757 extension, or implements the core OpenGL 1.2 API, it will |