当前位置: 首页 > news >正文

Android SurfaceFlinger——HWC Adapter初始化(五)

         上一篇文章对 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_ptr<hal::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_unique<HwcHal>();return hal->initWithDevice(std::move(device), !adapted) ? std::move(hal) : nullptr;
}

        这个过程做了两件事情,第一件事情就是 openDeviceWithAdapter 初始化 hwc2_device_t 适配器,第二件事情就是实例化 HwcHal 对象并且设置 hwc2_dev

http://www.lryc.cn/news/381931.html

相关文章:

  • 泛微开发修炼之旅--17基于Ecology短信平台,实现后端自定义二开短信发送方案及代码示例
  • SpringMVC系列二: 请求方式介绍
  • 大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展
  • C# 关于通讯观察线程(1) -- 开启通讯线程
  • 15.树形虚拟列表实现(支持10000+以上的数据)el-tree(1万+数据页面卡死)
  • 【服务器07】之【GitHub项目管理】及【Unity异步加载场景】
  • ansible提权之become_method与become_flags详解
  • elementui的el-dialog组件与el-tabs同时用导致浏览器卡死的原因解决
  • 基于图扑 HT for Web 实现拓扑关系图
  • linux笔记10--编辑器之神VIM
  • 安全管理中心-集中管控(6点)
  • 使用electron打包Vue前端项目的详细流程
  • 《计算机英语》 Unit 4 Information Management 信息管理
  • 如何打包数据库文件
  • iOS抓包指南 正则过滤爬取
  • FLASH仿真EEPROM---基于智芯Z20K11XM
  • 阿里云PAI大模型评测最佳实践
  • 应用图扑 HT for Web 搭建拓扑关系图
  • Django Aggregation 使用指南
  • 嵌入式学习——Linux操作系统——文件编程练习
  • 用JavaScript实现了一个简单的图像坐标点标注工具
  • Pytorch深度解析:Transformer嵌入层源码逐行解读
  • HSP_10章 Python面向对象编程oop_基础部分
  • JavaWeb系列十七: jQuery选择器 上
  • Gone框架介绍30 - 使用`goner/gin`提供Web服务
  • Lipowerline5.0 雷达电力应用软件下载使用
  • STM32学习之一:什么是STM32
  • AI绘画Stable Diffusion 超强一键去除图片中的物体,免费使用!
  • 零基础STM32单片机编程入门(一)初识STM32单片机
  • Github上前十大开源Rust项目