Loading graphics/mapper/2.0/default/GrallocMapper.cpp +9 −20 Original line number Diff line number Diff line Loading @@ -293,31 +293,20 @@ Return<void> GrallocMapper::unlock(void* buffer, unlock_cb hidl_cb) { return Void(); } namespace { // Load the gralloc module when this shared library is loaded, rather than // waiting until HIDL_FETCH_IMapper is called. This allows it (and its // dependencies) to be loaded by Zygote, reducing app startup time and sharing // pages dirtied during library load between all apps. struct GrallocModule { const hw_module_t* module; GrallocModule() : module(nullptr) { IMapper* HIDL_FETCH_IMapper(const char* /* name */) { const hw_module_t* module = nullptr; int err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module); ALOGE_IF(err, "failed to get gralloc module: %s (%d)", strerror(-err), err); if (err) { ALOGE("failed to get gralloc module"); return nullptr; } }; GrallocModule gGralloc; } // namespace IMapper* HIDL_FETCH_IMapper(const char* /* name */) { if (!gGralloc.module) return nullptr; uint8_t major = (gGralloc.module->module_api_version >> 8) & 0xff; uint8_t major = (module->module_api_version >> 8) & 0xff; switch (major) { case 1: return new Gralloc1Mapper(gGralloc.module); return new Gralloc1Mapper(module); case 0: return new Gralloc0Mapper(gGralloc.module); return new Gralloc0Mapper(module); default: ALOGE("unknown gralloc module major version %d", major); return nullptr; Loading Loading
graphics/mapper/2.0/default/GrallocMapper.cpp +9 −20 Original line number Diff line number Diff line Loading @@ -293,31 +293,20 @@ Return<void> GrallocMapper::unlock(void* buffer, unlock_cb hidl_cb) { return Void(); } namespace { // Load the gralloc module when this shared library is loaded, rather than // waiting until HIDL_FETCH_IMapper is called. This allows it (and its // dependencies) to be loaded by Zygote, reducing app startup time and sharing // pages dirtied during library load between all apps. struct GrallocModule { const hw_module_t* module; GrallocModule() : module(nullptr) { IMapper* HIDL_FETCH_IMapper(const char* /* name */) { const hw_module_t* module = nullptr; int err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module); ALOGE_IF(err, "failed to get gralloc module: %s (%d)", strerror(-err), err); if (err) { ALOGE("failed to get gralloc module"); return nullptr; } }; GrallocModule gGralloc; } // namespace IMapper* HIDL_FETCH_IMapper(const char* /* name */) { if (!gGralloc.module) return nullptr; uint8_t major = (gGralloc.module->module_api_version >> 8) & 0xff; uint8_t major = (module->module_api_version >> 8) & 0xff; switch (major) { case 1: return new Gralloc1Mapper(gGralloc.module); return new Gralloc1Mapper(module); case 0: return new Gralloc0Mapper(gGralloc.module); return new Gralloc0Mapper(module); default: ALOGE("unknown gralloc module major version %d", major); return nullptr; Loading