Changeset 406 for trunk/src/lib/gl.cc
- Timestamp:
- 06/20/15 00:05:17 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lib/gl.cc
r395 r406 82 82 if ( gl_library_loaded && !force_reload ) return true; 83 83 #if defined( NV_SDL_GL ) 84 # define NV_GL_LOAD( symbol ) *(void **) (&symbol) = SDL_GL_GetProcAddress(#symbol);85 # define NV_GL_LOAD_EXT( symbol ) *(void **) (&symbol) = SDL_GL_GetProcAddress(#symbol);86 *(void **) (&gl_ext_loader) = SDL_GL_GetProcAddress;84 # define NV_GL_LOAD( symbol ) void_assign( symbol, SDL_GL_GetProcAddress(#symbol) ); 85 # define NV_GL_LOAD_EXT( symbol ) void_assign( symbol, SDL_GL_GetProcAddress(#symbol) ); 86 void_assign( gl_ext_loader, SDL_GL_GetProcAddress ); 87 87 #else 88 88 if ( !gl_library.is_open() ) gl_library.open( path ); 89 89 90 90 # if NV_PLATFORM == NV_WINDOWS 91 # define NV_GL_LOAD( symbol ) *(void **) (&symbol) = gl_library.get(#symbol);92 *(void **) (&gl_ext_loader) = gl_library.get("wglGetProcAddress");93 # define NV_GL_LOAD_EXT( symbol ) *(void **) (&symbol) = gl_ext_loader(#symbol);91 # define NV_GL_LOAD( symbol ) void_assign( symbol, gl_library.get(#symbol) ); 92 void_assign( gl_ext_loader, gl_library.get( "wglGetProcAddress" ) ); 93 # define NV_GL_LOAD_EXT( symbol ) void_assign( symbol, gl_ext_loader(#symbol) ); 94 94 # elif (NV_PLATFORM == NV_LINUX || NV_PLATFORM == NV_APPLE) 95 # define NV_GL_LOAD( symbol ) *(void **) (&symbol) = gl_library.get(#symbol);96 *(void **) (&gl_ext_loader) = gl_library.get("glXGetProcAddress");97 # define NV_GL_LOAD_EXT( symbol ) *(void **) (&symbol) = gl_ext_loader(#symbol);95 # define NV_GL_LOAD( symbol ) void_assign( symbol, gl_library.get(#symbol) ); 96 void_assign( gl_ext_loader, gl_library.get("glXGetProcAddress") ); 97 # define NV_GL_LOAD_EXT( symbol ) void_assign( symbol, gl_ext_loader(#symbol) ); 98 98 # else 99 # define NV_GL_LOAD( symbol ) *(void **) (&symbol) = gl_library.get(#symbol);100 # define NV_GL_LOAD_EXT( symbol ) *(void **) (&symbol) = gl_library.get(#symbol);99 # define NV_GL_LOAD( symbol ) void_assign( symbol, gl_library.get(#symbol) ); 100 # define NV_GL_LOAD_EXT( symbol ) void_assign( symbol, gl_library.get(#symbol) ); 101 101 # endif 102 102 #endif … … 114 114 } 115 115 116 117 116 118 bool nv::load_wgl_library( const char* path /*= NV_GL_PATH */, bool force_reload ) 117 119 { … … 119 121 #if NV_PLATFORM == NV_WINDOWS 120 122 #if defined( NV_SDL_GL ) 121 # define NV_GL_LOAD( symbol ) *(void **) (&symbol) = SDL_GL_GetProcAddress(#symbol);122 # define NV_GL_LOAD_EXT( symbol ) *(void **) (&symbol) = SDL_GL_GetProcAddress(#symbol);123 # define NV_GL_LOAD_REN( fname, rname ) *(void **) (&rname) = SDL_GL_GetProcAddress(#fname);124 (void **) (&gl_ext_loader) = SDL_GL_GetProcAddress;123 # define NV_GL_LOAD( symbol ) void_assign( symbol, SDL_GL_GetProcAddress(#symbol) ); 124 # define NV_GL_LOAD_EXT( symbol ) void_assign( symbol, SDL_GL_GetProcAddress(#symbol) ); 125 # define NV_GL_LOAD_REN( fname, rname ) void_assign( rname, SDL_GL_GetProcAddress(#fname) ); 126 void_assign( gl_ext_loader, SDL_GL_GetProcAddress ); 125 127 #else // 126 128 if ( !gl_library.is_open() ) gl_library.open( path ); 127 129 128 *(void **) (&gl_ext_loader) = gl_library.get("wglGetProcAddress");129 #define NV_GL_LOAD( symbol ) *(void **) (&symbol) = gl_library.get(#symbol);130 #define NV_GL_LOAD_EXT( symbol ) *(void **) (&symbol) = gl_ext_loader(#symbol);131 #define NV_GL_LOAD_REN( fname, rname ) *(void **) (&rname) = gl_library.get(#fname);130 void_assign( gl_ext_loader, gl_library.get("wglGetProcAddress") ); 131 #define NV_GL_LOAD( symbol ) void_assign( symbol, gl_library.get(#symbol) ); 132 #define NV_GL_LOAD_EXT( symbol ) void_assign( symbol, gl_ext_loader(#symbol) ); 133 #define NV_GL_LOAD_REN( fname, rname ) void_assign( rname, gl_library.get(#fname) ); 132 134 #endif 133 135 # define NV_GL_FUN( rtype, fname, fparams ) NV_GL_LOAD( fname ) … … 161 163 BOOL (NV_GL_APIENTRY *wgl_deletecontext) (HGLRC) = nullptr; 162 164 163 *(void **) &wgl_createcontext = gl_library.get("wglCreateContext");164 *(void **) &wgl_makecurrent = gl_library.get("wglMakeCurrent");165 *(void **) &wgl_deletecontext = gl_library.get("wglDeleteContext");165 void_assign( wgl_createcontext, gl_library.get("wglCreateContext") ); 166 void_assign( wgl_makecurrent, gl_library.get("wglMakeCurrent") ); 167 void_assign( wgl_deletecontext, gl_library.get("wglDeleteContext") ); 166 168 167 169 WNDCLASS wndClass; … … 175 177 wndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); 176 178 wndClass.hInstance = hInstance; 177 wndClass.lpfnWndProc = (WNDPROC) DefWindowProc;179 wndClass.lpfnWndProc = reinterpret_cast<WNDPROC>( DefWindowProc ); 178 180 wndClass.lpszClassName = TEXT("Dummy67789"); 179 181 wndClass.lpszMenuName = 0; … … 253 255 254 256 # define NV_GL_FUN_EXT( rtype, symbol, fparams ) \ 255 *(void **) (&symbol) = load_gl_ext_symbol(#symbol, true, nullptr); \257 void_assign( symbol, load_gl_ext_symbol(#symbol, true, nullptr) ); \ 256 258 count++; if ( !symbol ) fail_count++; 257 259 … … 266 268 default : { 267 269 NV_LOG_ERROR( "load_gl_extension - unknown extension \"", name, "\"!" ); 268 return nullptr;270 return false; 269 271 } 270 272 } … … 274 276 { 275 277 NV_LOG_NOTICE( "load_gl_extension - extension \"", name, "\" loaded (", count, " symbols)" ); 276 gl_loaded_extensions = (gl_extensions)( gl_loaded_extensions | (unsigned)extension);278 gl_loaded_extensions = gl_extensions( gl_loaded_extensions | static_cast<unsigned>( extension ) ); 277 279 return false; 278 280 }
Note: See TracChangeset
for help on using the changeset viewer.