diff --git a/tensorflow/lite/delegates/gpu/cl/opencl_wrapper.cc b/tensorflow/lite/delegates/gpu/cl/opencl_wrapper.cc index bf2fd449291..add0e2fd4e9 100644 --- a/tensorflow/lite/delegates/gpu/cl/opencl_wrapper.cc +++ b/tensorflow/lite/delegates/gpu/cl/opencl_wrapper.cc @@ -36,7 +36,7 @@ namespace cl { #ifdef __ANDROID__ #define LoadFunction(function) \ - if (is_pixel) { \ + if (use_wrapper) { \ function = reinterpret_cast(loadOpenCLPointer(#function)); \ } else { \ function = reinterpret_cast(dlsym(libopencl, #function)); \ @@ -53,7 +53,7 @@ namespace cl { #ifdef __WINDOWS__ void LoadOpenCLFunctions(HMODULE libopencl); #else -void LoadOpenCLFunctions(void* libopencl, bool is_pixel); +void LoadOpenCLFunctions(void* libopencl, bool use_wrapper); #endif absl::Status LoadOpenCL() { @@ -77,8 +77,11 @@ absl::Status LoadOpenCL() { // record error std::string error(dlerror()); #ifdef __ANDROID__ - // Pixel phone? + // Pixel phone or auto? libopencl = dlopen("libOpenCL-pixel.so", RTLD_NOW | RTLD_LOCAL); + if (!libopencl) { + libopencl = dlopen("libOpenCL-car.so", RTLD_NOW | RTLD_LOCAL); + } if (libopencl) { typedef void (*enableOpenCL_t)(); enableOpenCL_t enableOpenCL = @@ -96,11 +99,11 @@ absl::Status LoadOpenCL() { #ifdef __WINDOWS__ void LoadOpenCLFunctions(HMODULE libopencl) { #else -void LoadOpenCLFunctions(void* libopencl, bool is_pixel) { +void LoadOpenCLFunctions(void* libopencl, bool use_wrapper) { #ifdef __ANDROID__ typedef void* (*loadOpenCLPointer_t)(const char* name); loadOpenCLPointer_t loadOpenCLPointer; - if (is_pixel) { + if (use_wrapper) { loadOpenCLPointer = reinterpret_cast( dlsym(libopencl, "loadOpenCLPointer")); }