hwc_composer_device_1

hwc_composer_device_1是Android硬件合成器设备的接口,包含prepare、set等方法,用于处理显示内容的合成。prepare方法在每一帧前调用,用于决定HWC合成步骤;set方法在eglSwapBuffers中应用,更新工作列表内容。此外,接口还包括eventControl、blank、setPowerMode等方法,用于控制事件、屏幕状态和电源模式。该接口在硬件合成器HAL层中被使用,对于SurfaceFlinger的显示管理至关重要。
摘要由CSDN通过智能技术生成

hwc_composer_device_1

struct hw_device_t common; //hardware composer device通用方法,其必须为hwc_composer_device_1 的第一个成员,用此结构体的使用者需要将hw_device_t 投射到上下文的hwc_composer_device_1指针。

int (*prepare)(structhwc_composer_device_1 *dev,

size_t numDisplays,hwc_display_contents_1_t** displays); //

//(*prepare)() 在每一帧合成前调用,可以应用于SurfaceFlinger决定HWC合成的步骤,(*prepare)()可以调用多次,并以最后一次调用为准。当一层合成类型为HWC_FRAMEBUFFER, HWC_OVERLAY, orHWC_CURSOR_OVERLAYHWC将作出回应。 HWC_FRAMEBUFFER类型,此层所需SurfaceFlinger 使用OpenGLES管理。在最近overlay两层,HWC 将要管理每层的合成。合成类型在整个*prepare)()都会保持不变,除非HWC_GEOMETRY_CHANGED符改变。(*prepare)()HWC_GEOMETRY_CHANGED调用,表示几何列表已经改变,也就是说buffer's句柄已经更新。最典型的是一个窗口已经添加,移除,更改大小和移动。在此种情况下,合成类型和提示都会复位到默认值。HWC 1.0,中numDisplays经常值为1displays[0]为空,ForHWC 1.1, numDisplaysHWC_NUM_PHYSICAL_DISPLAY_TYPESreturns:0 代码成功.负值代码出错.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值