diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c index 7a3a0d80bff..a433200a626 100644 --- a/src/glx/dri_common.c +++ b/src/glx/dri_common.c @@ -44,6 +44,7 @@ #include #include #include "dri_util.h" +#include "pipe-loader/pipe_loader.h" #ifndef RTLD_NOW #define RTLD_NOW 0 @@ -734,29 +735,6 @@ clear_driver_config_cache() } } -static char * -get_driver_config(const char *driverName) -{ - char *config = NULL; - const __DRIextension **extensions = driOpenDriver(driverName, false); - if (extensions) { - for (int i = 0; extensions[i]; i++) { - if (strcmp(extensions[i]->name, __DRI_CONFIG_OPTIONS) != 0) - continue; - - __DRIconfigOptionsExtension *ext = - (__DRIconfigOptionsExtension *)extensions[i]; - - if (ext->base.version >= 2) - config = ext->getXml(driverName); - - break; - } - } - - return config; -} - /* * Exported function for obtaining a driver's option list (UTF-8 encoded XML). * @@ -782,7 +760,7 @@ glXGetDriverConfig(const char *driverName) if (!e) goto out; - e->config = get_driver_config(driverName); + e->config = pipe_loader_get_driinfo_xml(driverName); e->driverName = strdup(driverName); if (!e->config || !e->driverName) { free(e->config); diff --git a/src/glx/meson.build b/src/glx/meson.build index 13cacf48dde..ee40c3e0f06 100644 --- a/src/glx/meson.build +++ b/src/glx/meson.build @@ -104,7 +104,7 @@ else ) endif -glx_gallium_link = [] +glx_gallium_link = [libpipe_loader_dynamic] if with_dri glx_gallium_link += libgallium_dri endif @@ -115,7 +115,7 @@ libglx = static_library( 'glx', [files_libglx, glx_generated], include_directories : [inc_include, inc_src, inc_glapi, inc_loader, inc_loader_x11, - inc_loader_dri3, inc_gallium, inc_mesa, inc_st_dri], + inc_loader_dri3, inc_gallium, inc_mesa, inc_st_dri, inc_gallium_aux], c_args : [ '-DGL_LIB_NAME="lib@0@.so.@1@"'.format(gl_lib_name, gl_lib_version.split('.')[0]), ],