mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 07:48:07 +02:00
glx: Move the driver extension-loading to a helper function.
I'm planning on doing driver extension parsing from 3 places, and making the extension loading step a bit longer. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
This commit is contained in:
parent
7463abd37d
commit
80806c98ef
3 changed files with 18 additions and 4 deletions
|
|
@ -1183,11 +1183,9 @@ dri2CreateScreen(int screen, struct glx_display * priv)
|
|||
goto handle_error;
|
||||
}
|
||||
|
||||
extensions = dlsym(psc->driver, __DRI_DRIVER_EXTENSIONS);
|
||||
if (extensions == NULL) {
|
||||
ErrorMessageF("driver exports no extensions (%s)\n", dlerror());
|
||||
extensions = driGetDriverExtensions(psc->driver);
|
||||
if (extensions == NULL)
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
for (i = 0; extensions[i]; i++) {
|
||||
if (strcmp(extensions[i]->name, __DRI_CORE) == 0)
|
||||
|
|
|
|||
|
|
@ -187,6 +187,20 @@ driOpenDriver(const char *driverName)
|
|||
return handle;
|
||||
}
|
||||
|
||||
_X_HIDDEN const __DRIextension **
|
||||
driGetDriverExtensions(void *handle)
|
||||
{
|
||||
const __DRIextension **extensions = NULL;
|
||||
|
||||
extensions = dlsym(handle, __DRI_DRIVER_EXTENSIONS);
|
||||
if (extensions == NULL) {
|
||||
ErrorMessageF("driver exports no extensions (%s)\n", dlerror());
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return extensions;
|
||||
}
|
||||
|
||||
static GLboolean
|
||||
__driGetMSCRate(__DRIdrawable *draw,
|
||||
int32_t * numerator, int32_t * denominator,
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ extern void CriticalErrorMessageF(const char *f, ...);
|
|||
|
||||
extern void *driOpenDriver(const char *driverName);
|
||||
|
||||
extern const __DRIextension **driGetDriverExtensions(void *handle);
|
||||
|
||||
extern bool
|
||||
dri2_convert_glx_attribs(unsigned num_attribs, const uint32_t *attribs,
|
||||
unsigned *major_ver, unsigned *minor_ver,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue