src/GLX/libglxmapping.c
static GLVNDentrypointStub __glXFindVendorDispatchAddress(const char *procName, __GLXvendorInfo *vendor)
{
    __GLXextFuncPtr addr = NULL;

    addr = vendor->glxvc->getDispatchAddress((const GLubyte *) procName);
    if (addr != NULL) {
        // Allocate the new dispatch index.
        if (!AllocDispatchIndex(vendor, (const GLubyte *) procName)) {
            addr = NULL;
        }
        return addr;
    }

    // If we didn't find a GLX dispatch function, then check for a normal
    // OpenGL function. This should handle any case where a GL extension
    // function starts with "glX".
    addr = vendor->glxvc->getProcAddress((const GLubyte *) procName);
    if (addr != NULL) {
        addr = __glDispatchGetProcAddress(procName);
    }
    return addr;
}
/**
 * Looks up a dispatch function from a vendor library.
 *
 * If the vendor library provides a dispatch function, then it will allocate a
 * dispatch index for it.
 *
 * If the vendor library exports it as a normal OpenGL function, then it will
 * return a dispatch function from libGLdispatch.
 *
 * This function is used from __glXGetGLXDispatchAddress and as the callback to
 * glvndUpdateEntrypoints.
 */
Looks up a dispatch function from a vendor library.
If the vendor library provides a dispatch function, then it will allocate a
dispatch index for it.

If the vendor library exports it as a normal OpenGL function, then it will
return a dispatch function from libGLdispatch.

This function is used from __glXGetGLXDispatchAddress and as the callback to
glvndUpdateEntrypoints.
Looks up a dispatch function from a vendor library . If the vendor library provides a dispatch function then it will allocate a dispatch index for it . If the vendor library exports it as a normal OpenGL function then it will return a dispatch function from libGLdispatch . This function is used from __glXGetGLXDispatchAddress and as the callback to glvndUpdateEntrypoints .
static GLVNDentrypointStub __glXFindVendorDispatchAddress(const char *procName, __GLXvendorInfo *vendor)
{
    __GLXextFuncPtr addr = NULL;
    addr = vendor->glxvc->getDispatchAddress((const GLubyte *) procName);
    if (addr != NULL) {
        if (!AllocDispatchIndex(vendor, (const GLubyte *) procName)) {
            addr = NULL;
        }
        return addr;
    }
    addr = vendor->glxvc->getProcAddress((const GLubyte *) procName);
    if (addr != NULL) {
        addr = __glDispatchGetProcAddress(procName);
    }
    return addr;
}
static GLVNDentrypointStub __glXFindVendorDispatchAddress ( const char * procName , __GLXvendorInfo * vendor ) { __GLXextFuncPtr addr = NULL ; addr = vendor -> glxvc -> getDispatchAddress ( ( const GLubyte * ) procName ) ; if ( addr != NULL ) { if ( ! AllocDispatchIndex ( vendor , ( const GLubyte * ) procName ) ) { addr = NULL ; } return addr ; } addr = vendor -> glxvc -> getProcAddress ( ( const GLubyte * ) procName ) ; if ( addr != NULL ) { addr = __glDispatchGetProcAddress ( procName ) ; } return addr ; }
Looks up a dispatch function from a vendor library.
Looks up a dispatch function from a vendor library .
// Allocate the new dispatch index. // If we didn't find a GLX dispatch function, then check for a normal // OpenGL function. This should handle any case where a GL extension // function starts with "glX".