Lines Matching refs:dso
77 static int do_android_unload_sphal_library(void* dso) { in do_android_unload_sphal_library() argument
79 return android_unload_sphal_library(dso); in do_android_unload_sphal_library()
84 dso[0] = gles; in driver_t()
85 for (size_t i=1 ; i<NELEM(dso) ; i++) in driver_t()
86 dso[i] = nullptr; in driver_t()
91 for (size_t i=0 ; i<NELEM(dso) ; i++) { in ~driver_t()
92 if (dso[i]) { in ~driver_t()
93 dlclose(dso[i]); in ~driver_t()
94 dso[i] = nullptr; in ~driver_t()
103 dso[0] = hnd; in set()
106 dso[1] = hnd; in set()
109 dso[2] = hnd; in set()
187 if (cnx->dso) { in unload_system_driver()
189 driver_t* hnd = (driver_t*)cnx->dso; in unload_system_driver()
190 if (hnd->dso[2]) { in unload_system_driver()
191 do_android_unload_sphal_library(hnd->dso[2]); in unload_system_driver()
193 if (hnd->dso[1]) { in unload_system_driver()
194 do_android_unload_sphal_library(hnd->dso[1]); in unload_system_driver()
196 if (hnd->dso[0]) { in unload_system_driver()
197 do_android_unload_sphal_library(hnd->dso[0]); in unload_system_driver()
199 cnx->dso = nullptr; in unload_system_driver()
215 if (cnx->dso) { in open()
216 return cnx->dso; in open()
273 init_angle_backend(hnd->dso[2], cnx); in open()
309 driver_t* hnd = (driver_t*) cnx->dso; in close()
311 cnx->dso = nullptr; in close()
316 void Loader::init_api(void* dso, in init_api() argument
338 (__eglMustCastToProperFunctionPointerType)dlsym(dso, name); in init_api()
349 f = (__eglMustCastToProperFunctionPointerType)dlsym(dso, scrap); in init_api()
358 f = (__eglMustCastToProperFunctionPointerType)dlsym(dso, scrap); in init_api()
467 void* dso = do_android_load_sphal_library(driver_absolute_path, in load_system_driver() local
469 if (dso == nullptr) { in load_system_driver()
477 return dso; in load_system_driver()
539 void* dso = load_angle("EGL", ns); in attempt_to_load_angle() local
540 if (dso) { in attempt_to_load_angle()
541 initialize_api(dso, cnx, EGL); in attempt_to_load_angle()
542 hnd = new driver_t(dso); in attempt_to_load_angle()
544 dso = load_angle("GLESv1_CM", ns); in attempt_to_load_angle()
545 initialize_api(dso, cnx, GLESv1_CM); in attempt_to_load_angle()
546 hnd->set(dso, GLESv1_CM); in attempt_to_load_angle()
548 dso = load_angle("GLESv2", ns); in attempt_to_load_angle()
549 initialize_api(dso, cnx, GLESv2); in attempt_to_load_angle()
550 hnd->set(dso, GLESv2); in attempt_to_load_angle()
555 void Loader::init_angle_backend(void* dso, egl_connection_t* cnx) { in init_angle_backend() argument
556 void* pANGLEGetDisplayPlatform = dlsym(dso, "ANGLEGetDisplayPlatform"); in init_angle_backend()
577 void* dso = load_updated_driver("GLES", ns); in attempt_to_load_updated_driver() local
578 if (dso) { in attempt_to_load_updated_driver()
579 initialize_api(dso, cnx, EGL | GLESv1_CM | GLESv2); in attempt_to_load_updated_driver()
580 hnd = new driver_t(dso); in attempt_to_load_updated_driver()
584 dso = load_updated_driver("EGL", ns); in attempt_to_load_updated_driver()
585 if (dso) { in attempt_to_load_updated_driver()
586 initialize_api(dso, cnx, EGL); in attempt_to_load_updated_driver()
587 hnd = new driver_t(dso); in attempt_to_load_updated_driver()
589 dso = load_updated_driver("GLESv1_CM", ns); in attempt_to_load_updated_driver()
590 initialize_api(dso, cnx, GLESv1_CM); in attempt_to_load_updated_driver()
591 hnd->set(dso, GLESv1_CM); in attempt_to_load_updated_driver()
593 dso = load_updated_driver("GLESv2", ns); in attempt_to_load_updated_driver()
594 initialize_api(dso, cnx, GLESv2); in attempt_to_load_updated_driver()
595 hnd->set(dso, GLESv2); in attempt_to_load_updated_driver()
605 void* dso = load_system_driver("GLES", suffix, exact); in attempt_to_load_system_driver() local
606 if (dso) { in attempt_to_load_system_driver()
607 initialize_api(dso, cnx, EGL | GLESv1_CM | GLESv2); in attempt_to_load_system_driver()
608 hnd = new driver_t(dso); in attempt_to_load_system_driver()
611 dso = load_system_driver("EGL", suffix, exact); in attempt_to_load_system_driver()
612 if (dso) { in attempt_to_load_system_driver()
613 initialize_api(dso, cnx, EGL); in attempt_to_load_system_driver()
614 hnd = new driver_t(dso); in attempt_to_load_system_driver()
616 dso = load_system_driver("GLESv1_CM", suffix, exact); in attempt_to_load_system_driver()
617 initialize_api(dso, cnx, GLESv1_CM); in attempt_to_load_system_driver()
618 hnd->set(dso, GLESv1_CM); in attempt_to_load_system_driver()
620 dso = load_system_driver("GLESv2", suffix, exact); in attempt_to_load_system_driver()
621 initialize_api(dso, cnx, GLESv2); in attempt_to_load_system_driver()
622 hnd->set(dso, GLESv2); in attempt_to_load_system_driver()
627 void Loader::initialize_api(void* dso, egl_connection_t* cnx, uint32_t mask) { in initialize_api() argument
629 getProcAddress = (getProcAddressType)dlsym(dso, "eglGetProcAddress"); in initialize_api()
641 (__eglMustCastToProperFunctionPointerType)dlsym(dso, name); in initialize_api()
655 init_api(dso, gl_names_1, gl_names, in initialize_api()
662 init_api(dso, gl_names, nullptr, in initialize_api()