255 ctxInfo->glUniform4iv = (PFNGLUNIFORM4IVPROC) 256 wglGetProcAddress("glUniform4iv"); 257 ctxInfo->glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) 258 wglGetProcAddress("glUniformMatrix4fv"); 259 ctxInfo->glUseProgram = (PFNGLUSEPROGRAMPROC) 260 wglGetProcAddress("glUseProgram"); 261 ctxInfo->glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) 262 wglGetProcAddress("glValidateProgram"); 263 ctxInfo->glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) 264 wglGetProcAddress("glVertexAttribPointer"); 265 ctxInfo->glGenBuffers = (PFNGLGENBUFFERSPROC) 266 wglGetProcAddress("glGenBuffers"); 267 ctxInfo->glBindBuffer = (PFNGLBINDBUFFERPROC) 268 wglGetProcAddress("glBindBuffer"); 269 ctxInfo->glBufferData = (PFNGLBUFFERDATAPROC) 270 wglGetProcAddress("glBufferData"); 271 ctxInfo->glBufferSubData = (PFNGLBUFFERSUBDATAPROC) 272 wglGetProcAddress("glBufferSubData"); 273 ctxInfo->glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) 274 wglGetProcAddress("glGetShaderInfoLog"); 275 ctxInfo->glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) 276 wglGetProcAddress("glTexImage2DMultisample"); 277 ctxInfo->glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) 278 wglGetProcAddress("glRenderbufferStorageMultisample"); 279 ctxInfo->glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) 280 wglGetProcAddress("glBlitFramebuffer"); 281 282 if (isExtensionSupported(ctxInfo->wglExtensionStr, 283 "WGL_EXT_swap_control")) { 284 ctxInfo->wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) 285 wglGetProcAddress("wglSwapIntervalEXT"); 286 } 287 288 // initialize platform states and properties to match 289 // cached states and properties 290 if (ctxInfo->wglSwapIntervalEXT != NULL) { 291 ctxInfo->wglSwapIntervalEXT(0); 292 } 293 ctxInfo->state.vSyncEnabled = JNI_FALSE; 294 ctxInfo->vSyncRequested = vSyncRequested; | 255 ctxInfo->glUniform4iv = (PFNGLUNIFORM4IVPROC) 256 wglGetProcAddress("glUniform4iv"); 257 ctxInfo->glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) 258 wglGetProcAddress("glUniformMatrix4fv"); 259 ctxInfo->glUseProgram = (PFNGLUSEPROGRAMPROC) 260 wglGetProcAddress("glUseProgram"); 261 ctxInfo->glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) 262 wglGetProcAddress("glValidateProgram"); 263 ctxInfo->glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) 264 wglGetProcAddress("glVertexAttribPointer"); 265 ctxInfo->glGenBuffers = (PFNGLGENBUFFERSPROC) 266 wglGetProcAddress("glGenBuffers"); 267 ctxInfo->glBindBuffer = (PFNGLBINDBUFFERPROC) 268 wglGetProcAddress("glBindBuffer"); 269 ctxInfo->glBufferData = (PFNGLBUFFERDATAPROC) 270 wglGetProcAddress("glBufferData"); 271 ctxInfo->glBufferSubData = (PFNGLBUFFERSUBDATAPROC) 272 wglGetProcAddress("glBufferSubData"); 273 ctxInfo->glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) 274 wglGetProcAddress("glGetShaderInfoLog"); 275 ctxInfo->glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) 276 wglGetProcAddress("glGetProgramInfoLog"); 277 ctxInfo->glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) 278 wglGetProcAddress("glTexImage2DMultisample"); 279 ctxInfo->glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) 280 wglGetProcAddress("glRenderbufferStorageMultisample"); 281 ctxInfo->glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC) 282 wglGetProcAddress("glBlitFramebuffer"); 283 284 if (isExtensionSupported(ctxInfo->wglExtensionStr, 285 "WGL_EXT_swap_control")) { 286 ctxInfo->wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) 287 wglGetProcAddress("wglSwapIntervalEXT"); 288 } 289 290 // initialize platform states and properties to match 291 // cached states and properties 292 if (ctxInfo->wglSwapIntervalEXT != NULL) { 293 ctxInfo->wglSwapIntervalEXT(0); 294 } 295 ctxInfo->state.vSyncEnabled = JNI_FALSE; 296 ctxInfo->vSyncRequested = vSyncRequested; |