VirtualDisplaySurface怎么调用的hwc
时间: 2024-01-22 22:01:58 浏览: 122
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
VirtualDisplaySurface是由SurfaceFlinger组件创建和管理的,它通过SurfaceFlinger来调用hwc实现图形渲染和显示。
具体来说,当VirtualDisplaySurface创建一个虚拟的显示器后,它会将图形数据传递给SurfaceFlinger。SurfaceFlinger会将图形数据加入到显示列表中,然后调用hwc来将图形数据输出到物理显示器上。具体的调用过程如下:
1. SurfaceFlinger将图形数据添加到显示列表中。
2. SurfaceFlinger调用hwc的prepare()函数,告诉hwc将要开始渲染新的一帧。
3. hwc根据prepare()函数的参数,初始化GPU和显示器,并准备开始渲染。
4. SurfaceFlinger调用hwc的set()函数,传递图形数据和渲染参数给hwc。
5. hwc接收到set()函数的参数后,根据参数进行渲染,并将结果输出到物理显示器上。
6. SurfaceFlinger调用hwc的commit()函数,告诉hwc渲染完成,并可以将渲染结果输出到物理显示器上。
通过这样的调用过程,VirtualDisplaySurface就可以将图形数据传递给hwc,并实现图形渲染和显示。需要注意的是,这个过程是非常复杂的,需要涉及到很多底层的硬件和软件技术,而且具体实现也会因不同的硬件平台而有所不同。
阅读全文