那个网站学做披萨比较好,怎么做网站需求分析,如何做电子书下载网站,国家高新技术企业标志上一篇文章对 HWC 硬件加载流程进行了分析,在加载完成后开始创建 HAL 实例时,首先需要对 hwc2_device_t 的适配器进行初始化,这里我们主要分析 HWC Adapter 的创建流程。
一、创建HWC Adapter 在创建 HAL 实例之前,我们先来看一下 HWC Adapter 的创建。
1、createHalWith… 上一篇文章对 HWC 硬件加载流程进行了分析,在加载完成后开始创建 HAL 实例时,首先需要对 hwc2_device_t 的适配器进行初始化,这里我们主要分析 HWC Adapter 的创建流程。
一、创建HWC Adapter 在创建 HAL 实例之前,我们先来看一下 HWC Adapter 的创建。
1、createHalWithAdapter
源码位置:/hardware/interfaces/graphics/composer/2.1/utils/passthrough/include/composer-passthrough/2.1/HwcLoader.h
// 创建一个ComposerHal实例,必要时插入一个适配器
static std::unique_ptrhal::ComposerHal createHalWithAdapter(const hw_module_t* module) {bool adapted;// 打开hwcomposer2设备hwc2_device_t* device = openDeviceWithAdapter(module, adapted);if (!device) {return nullptr;}auto hal = std::make_uniqueHwcHal();return hal-initWithDevice(std::move(device), !adapted) ? std::move(hal) : nullptr;
}
这个过程做了两件事情,第一件事情就是 openDeviceWithAdapter 初始化 hwc2_device_t 适配器,第二件事情就是实例化 HwcHal 对象并且设置 hwc2_dev