diff --git a/Android.bp b/Android.bp index e1b1cc2..200e71c 100644 --- a/Android.bp +++ b/Android.bp @@ -126,10 +126,10 @@ cc_library_shared { cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib64\""], }, arm: { - cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib/dri\""], + cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib\""], }, arm64: { - cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib64/dri\""], + cflags: ["-DVA_DRIVERS_PATH=\"/vendor/lib64\""], }, }, diff --git a/va/va.c b/va/va.c index 3113b35..872a617 100644 --- a/va/va.c +++ b/va/va.c @@ -363,8 +363,12 @@ static char *va_getDriverPath(const char *driver_dir, const char *driver_name) if (!driver_path) return NULL; - n = snprintf(driver_path, PATH_MAX, DRIVER_PATH_STRING, - driver_dir, driver_name, DRIVER_EXTENSION); + if (strcmp(driver_name, "iHD") && strcmp(driver_name, "i965")) { + n = snprintf(driver_path, PATH_MAX, "%s/libgallium_dri.so", driver_dir); + } else { + n = snprintf(driver_path, PATH_MAX, DRIVER_PATH_STRING, + driver_dir, driver_name, DRIVER_EXTENSION); + } if (n < 0) { free(driver_path);