Lines Matching refs:driver
139 char *driver;
143 log_(_LOADER_WARNING, "failed to get driver name for fd %d\n", fd);
147 driver = strndup(version->name, version->name_len);
148 log_(driver ? _LOADER_DEBUG : _LOADER_WARNING, "using driver %s for %d\n",
149 driver, fd);
152 return driver;
541 char *driver = NULL;
554 driver = strdup(driver_map[i].driver);
560 driver = strdup(driver_map[i].driver);
566 log_(driver ? _LOADER_DEBUG : _LOADER_WARNING,
567 "pci id for fd %d: %04x:%04x, driver %s\n",
568 fd, vendor_id, chip_id, driver);
569 return driver;
575 char *driver;
577 /* Allow an environment variable to force choosing a different driver
578 * binary. If that driver binary can't survive on this FD, that's the
583 driver = getenv("MESA_LOADER_DRIVER_OVERRIDE");
584 if (driver)
585 return strdup(driver);
589 driver = loader_get_dri_config_driver(fd);
590 if (driver)
591 return driver;
594 driver = loader_get_pci_driver(fd);
595 if (!driver)
596 driver = loader_get_kernel_driver_name(fd);
598 return driver;
625 * Opens a driver or backend using its name, returning the library handle.
628 * \param lib_suffix - a suffix to append to the driver name to generate the
633 * \param warn_on_fail - Log a warning if the driver is not found.
656 void *driver = NULL;
668 driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
669 if (driver == NULL) {
672 driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
673 if (driver == NULL) {
679 /* not need continue to loop all paths once the driver is found */
680 if (driver != NULL)
684 if (driver == NULL) {
695 return driver;
699 * Opens a DRI driver using its driver name, returning the __DRIextension
715 void *driver = loader_open_driver_lib(driver_name, "_dri", search_path_vars,
718 if (!driver)
723 get_extensions = dlsym(driver, get_extensions_name);
727 log_(_LOADER_DEBUG, "MESA-LOADER: driver does not expose %s(): %s\n",
734 extensions = dlsym(driver, __DRI_DRIVER_EXTENSIONS);
737 "MESA-LOADER: driver exports no extensions (%s)\n", dlerror());
738 dlclose(driver);
739 driver = NULL;
743 *out_driver_handle = driver;