44 #include "nvConfigure.h" 159 wglCopyImageSubDataNV = ( PFNWGLCOPYIMAGESUBDATANVPROC ) wglGetProcAddress(
"wglCopyImageSubDataNV" );
168 wglEnumGpusNV = ( PFNWGLENUMGPUSNVPROC ) wglGetProcAddress(
"wglEnumGpusNV" );
169 wglEnumGpuDevicesNV = ( PFNWGLENUMGPUDEVICESNVPROC ) wglGetProcAddress(
"wglEnumGpuDevicesNV" );
170 wglCreateAffinityDCNV = ( PFNWGLCREATEAFFINITYDCNVPROC ) wglGetProcAddress(
"wglCreateAffinityDCNV" );
171 wglDeleteDCNV = ( PFNWGLDELETEDCNVPROC ) wglGetProcAddress(
"wglDeleteDCNV" );
187 glIsRenderbufferEXT = ( PFNGLISRENDERBUFFEREXTPROC ) wglGetProcAddress(
"glIsRenderbufferEXT" );
188 glBindRenderbufferEXT = ( PFNGLBINDRENDERBUFFEREXTPROC ) wglGetProcAddress(
"glBindRenderbufferEXT" );
190 glGenRenderbuffersEXT = ( PFNGLGENRENDERBUFFERSEXTPROC ) wglGetProcAddress(
"glGenRenderbuffersEXT" );
193 glIsFramebufferEXT = ( PFNGLISFRAMEBUFFEREXTPROC ) wglGetProcAddress(
"glIsFramebufferEXT" );
194 glBindFramebufferEXT = ( PFNGLBINDFRAMEBUFFEREXTPROC ) wglGetProcAddress(
"glBindFramebufferEXT" );
196 glGenFramebuffersEXT = ( PFNGLGENFRAMEBUFFERSEXTPROC ) wglGetProcAddress(
"glGenFramebuffersEXT" );
203 glGenerateMipmapEXT = ( PFNGLGENERATEMIPMAPEXTPROC ) wglGetProcAddress(
"glGenerateMipmapEXT" );
204 glBlitFramebufferEXT = ( PFNGLBLITFRAMEBUFFEREXTPROC )wglGetProcAddress(
"glBlitFramebufferEXT" );
231 glGenQueries = ( PFNGLGENQUERIESPROC ) wglGetProcAddress(
"glGenQueries" );
232 glDeleteQueries = ( PFNGLDELETEQUERIESPROC ) wglGetProcAddress(
"glDeleteQueries" );
233 glBeginQuery = ( PFNGLBEGINQUERYPROC ) wglGetProcAddress(
"glBeginQuery" );
234 glEndQuery = ( PFNGLENDQUERYPROC ) wglGetProcAddress(
"glEndQuery" );
236 glGetInteger64v = ( PFNGLGETINTEGER64VPROC )wglGetProcAddress(
"glGetInteger64v" );
237 glGetQueryObjectuiv = ( PFNGLGETQUERYOBJECTUIVPROC )wglGetProcAddress(
"glGetQueryObjectuiv" );
253 wglSwapIntervalEXT = ( PFNWGLSWAPINTERVALEXTPROC ) wglGetProcAddress(
"wglSwapIntervalEXT" );
262 wglChoosePixelFormat = ( PFNWGLCHOOSEPIXELFORMATARBPROC ) wglGetProcAddress(
"wglChoosePixelFormatARB" );
271 glBindBuffer = ( PFNGLBINDBUFFERARBPROC ) wglGetProcAddress(
"glBindBufferARB" );
272 glBufferData = ( PFNGLBUFFERDATAARBPROC ) wglGetProcAddress(
"glBufferDataARB" );
273 glBufferSubData = ( PFNGLBUFFERSUBDATAARBPROC ) wglGetProcAddress(
"glBufferSubDataARB" );
274 glDeleteBuffers = ( PFNGLDELETEBUFFERSARBPROC ) wglGetProcAddress(
"glDeleteBuffersARB" );
275 glGenBuffers = ( PFNGLGENBUFFERSARBPROC ) wglGetProcAddress(
"glGenBuffersARB" );
276 glMapBuffer = ( PFNGLMAPBUFFERPROC ) wglGetProcAddress(
"glMapBufferARB" );
277 glMapBufferRange = ( PFNGLMAPBUFFERRANGEPROC ) wglGetProcAddress(
"glMapBufferRange" );
278 glUnmapBuffer = ( PFNGLUNMAPBUFFERPROC ) wglGetProcAddress(
"glUnmapBufferARB" );
279 glGetBufferSubData = ( PFNGLGETBUFFERSUBDATAPROC )wglGetProcAddress(
"glGetBufferSubData" );
298 glPresentFrameKeyedNV = ( PFNGLPRESENTFRAMEKEYEDNVPROC ) wglGetProcAddress(
"glPresentFrameKeyedNV" );
301 wglBindVideoDeviceNV = ( PFNWGLBINDVIDEODEVICENVPROC ) wglGetProcAddress(
"wglBindVideoDeviceNV" );
302 glGetVideoivNV = ( PFNGLGETVIDEOIVNVPROC ) wglGetProcAddress(
"glGetVideoivNV" );
303 glGetVideouivNV = ( PFNGLGETVIDEOUIVNVPROC ) wglGetProcAddress(
"glGetVideouivNV" );
304 glGetVideoi64vNV = ( PFNGLGETVIDEOI64VNVPROC ) wglGetProcAddress(
"glGetVideoi64vNV" );
305 glGetVideoui64vNV = ( PFNGLGETVIDEOUI64VNVPROC ) wglGetProcAddress(
"glGetVideoui64vNV" );
328 glBeginVideoCaptureNV = ( PFNGLBEGINVIDEOCAPTURENVPROC )wglGetProcAddress(
"glBeginVideoCaptureNV" );
329 glEndVideoCaptureNV = ( PFNGLENDVIDEOCAPTURENVPROC )wglGetProcAddress(
"glEndVideoCaptureNV" );
330 glVideoCaptureNV = ( PFNGLVIDEOCAPTURENVPROC )wglGetProcAddress(
"glVideoCaptureNV" );
347 glShaderSource = ( PFNGLSHADERSOURCEARBPROC )wglGetProcAddress(
"glShaderSourceARB" );
348 glCompileShader = ( PFNGLCOMPILESHADERARBPROC )wglGetProcAddress(
"glCompileShaderARB" );
349 glGetShaderiv = ( PFNGLGETSHADERIVPROC )wglGetProcAddress(
"glGetShaderiv" );
350 glGetShaderInfoLog = ( PFNGLGETSHADERINFOLOGPROC )wglGetProcAddress(
"glGetShaderInfoLog" );
351 glUseProgram = ( PFNGLUSEPROGRAMPROC )wglGetProcAddress(
"glUseProgram" );
352 glCreateShader = ( PFNGLCREATESHADERPROC )wglGetProcAddress(
"glCreateShader" );
353 glDeleteShader = ( PFNGLDELETESHADERPROC )wglGetProcAddress(
"glDeleteShader" );
354 glDeleteProgram = ( PFNGLDELETEPROGRAMPROC )wglGetProcAddress(
"glDeleteProgram" );
355 glCreateProgram = ( PFNGLCREATEPROGRAMPROC )wglGetProcAddress(
"glCreateProgram" );
356 glAttachShader = ( PFNGLATTACHSHADERPROC )wglGetProcAddress(
"glAttachShader" );
357 glDetachShader = ( PFNGLDETACHSHADERPROC )wglGetProcAddress(
"glDetachShader" );
358 glLinkProgram = ( PFNGLLINKPROGRAMPROC )wglGetProcAddress(
"glLinkProgram" );
359 glGetProgramiv = ( PFNGLGETPROGRAMIVPROC )wglGetProcAddress(
"glGetProgramiv" );
360 glGetProgramInfoLog = ( PFNGLGETPROGRAMINFOLOGPROC )wglGetProcAddress(
"glGetProgramInfoLog" );
361 glGetUniformLocation = ( PFNGLGETUNIFORMLOCATIONPROC )wglGetProcAddress(
"glGetUniformLocation" );
362 glUniform2iv = ( PFNGLUNIFORM2IVARBPROC )wglGetProcAddress(
"glUniform2iv" );
379 glFenceSync = ( PFNGLFENCESYNCPROC ) wglGetProcAddress(
"glFenceSync" );
380 glIsSync = ( PFNGLISSYNCPROC ) wglGetProcAddress(
"glIsSync" );
381 glDeleteSync = ( PFNGLDELETESYNCPROC ) wglGetProcAddress(
"glDeleteSync" );
382 glClientWaitSync = ( PFNGLCLIENTWAITSYNCPROC ) wglGetProcAddress(
"glClientWaitSync" );
383 glWaitSync = ( PFNGLWAITSYNCPROC ) wglGetProcAddress(
"glWaitSync" );
384 glGetSynciv = ( PFNGLGETSYNCIVPROC ) wglGetProcAddress(
"glGetSynciv" );
400 bool fboOK, gpuAffinityOK, vboOK, timerQueryOK, swapOK, pixelFormatOK;
414 return fboOK && gpuAffinityOK && vboOK && swapOK && pixelFormatOK && timerQueryOK;
PFNWGLENUMGPUSNVPROC wglEnumGpusNV
PFNGLVIDEOCAPTURENVPROC glVideoCaptureNV
bool loadExtensionFunctions(void)
PFNGLPRESENTFRAMEDUALFILLNVPROC glPresentFrameDualFillNV
PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT
PFNGLFENCESYNCPROC glFenceSync
ext function
PFNGLBEGINVIDEOCAPTURENVPROC glBeginVideoCaptureNV
PFNGLUNMAPBUFFERPROC glUnmapBuffer
PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT
PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormat
PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glVideoCaptureStreamParameterfvNV
bool loadShaderObjectsExtension(void)
PFNGLGETINTEGER64VPROC glGetInteger64v
PFNWGLBINDVIDEODEVICENVPROC wglBindVideoDeviceNV
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT
PFNGLENDVIDEOCAPTURENVPROC glEndVideoCaptureNV
PFNGLISSYNCPROC glIsSync
ext function
PFNGLCREATESHADERPROC glCreateShader
bool loadCopyImageExtension()
PFNGLGENQUERIESPROC glGenQueries
PFNGLENDQUERYPROC glEndQuery
PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC wglEnumGpusFromAffinityDCNV
PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT
PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT
PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64vEXT
PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT
PFNGLSHADERSOURCEARBPROC glShaderSource
Shader objects.
PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC wglLockVideoCaptureDeviceNV
PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glBindVideoCaptureStreamTextureNV
PFNGLDELETESHADERPROC glDeleteShader
bool loadSwapIntervalExtension()
PFNGLBUFFERSUBDATAARBPROC glBufferSubData
PFNWGLCOPYIMAGESUBDATANVPROC wglCopyImageSubDataNV
PFNWGLDELETEDCNVPROC wglDeleteDCNV
PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData
bool loadBufferObjectExtension()
bool loadFramebufferObjectExtension()
bool loadTimerQueryExtension()
PFNWGLCREATEAFFINITYDCNVPROC wglCreateAffinityDCNV
PFNGLGETSYNCIVPROC glGetSynciv
ext function
PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT
PFNGLGETSHADERIVPROC glGetShaderiv
PFNGLGETVIDEOCAPTURESTREAMIVNVPROC glGetVideoCaptureStreamivNV
PFNWGLENUMERATEVIDEODEVICESNVPROC wglEnumerateVideoDevicesNV
PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT
PFNGLGETVIDEOUIVNVPROC glGetVideouivNV
PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glVideoCaptureStreamParameterivNV
PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog
PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT
PFNGLGETVIDEOI64VNVPROC glGetVideoi64vNV
PFNGLDETACHSHADERPROC glDetachShader
PFNGLBUFFERDATAARBPROC glBufferData
PFNGLDELETEPROGRAMPROC glDeleteProgram
PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT
PFNGLMAPBUFFERRANGEPROC glMapBufferRange
PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC wglEnumerateVideoCaptureDevicesNV
PFNGLCLIENTWAITSYNCPROC glClientWaitSync
ext function
PFNGLDELETEBUFFERSARBPROC glDeleteBuffers
PFNGLGETVIDEOUI64VNVPROC glGetVideoui64vNV
PFNGLCOMPILESHADERARBPROC glCompileShader
PFNGLCREATEPROGRAMPROC glCreateProgram
PFNGLLINKPROGRAMPROC glLinkProgram
PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC wglReleaseVideoCaptureDeviceNV
PFNGLDELETEQUERIESPROC glDeleteQueries
PFNGLUNIFORM2IVARBPROC glUniform2iv
PFNGLATTACHSHADERPROC glAttachShader
PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC wglQueryVideoCaptureDeviceNV
PFNWGLENUMGPUDEVICESNVPROC wglEnumGpuDevicesNV
PFNGLGETVIDEOIVNVPROC glGetVideoivNV
PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT
PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog
PFNGLUSEPROGRAMPROC glUseProgram
PFNGLGETPROGRAMIVPROC glGetProgramiv
PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT
bool loadPixelFormatExtension()
bool loadCaptureVideoExtension()
PFNGLPRESENTFRAMEKEYEDNVPROC glPresentFrameKeyedNV
PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT
bool loadAffinityExtension()
PFNGLCOPYBUFFERSUBDATAPROC glCopyBufferSubData
PFNGLWAITSYNCPROC glWaitSync
ext function
PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT
PFNWGLQUERYCURRENTCONTEXTNVPROC wglQueryCurrentContextNV
PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT
bool loadPresentVideoExtension()
PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT
PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glBindVideoCaptureStreamBufferNV
PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT
PFNGLDELETESYNCPROC glDeleteSync
ext function
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT
PFNGLBINDBUFFERARBPROC glBindBuffer
PFNGLGENBUFFERSARBPROC glGenBuffers
PFNWGLBINDVIDEOCAPTUREDEVICENVPROC wglBindVideoCaptureDeviceNV
PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv
PFNGLMAPBUFFERPROC glMapBuffer
PFNGLBEGINQUERYPROC glBeginQuery