hwc virtual display

buffer_handle_t outbuf; //outbuf是一个为虚拟显示接收合成图像的buffer,在向outbuf写东西的时候,必须等到outbufAcquireFenceFd信号。一个fence会发出信号当向outbuf写操作完成的时候,retireFenceFd有返回值。

此部分是在prepare()前设置,因此此buffer的属性可以用来确定哪一个layers可以被h/w

composer 操控。如果prepare()设置所有层到FRAMEBUFFER,然后GLES合成直接到output buffer,在此种情况下outbufFRAMEBUFFER_TARGET层所对应的buffer将是一样的,并且set()除了管理fence之外什么都不做。

假如TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS参数变量被定义(除默认值除外),然后此种行为会改变。如果所有层都被FRAMEBUFFER做了标识,GLES合成替代抓帧(scratchframebuffer),并且h/w composer必须将其拷贝到outputbuffer。当多于GLESdriver可以处理或则Virtualdisplay消耗的情况下,其可以支持h/w composer的格式转换。

当有些层或则所有层被标识为OVERLAY,然后framebufferoutputbuffer 内容变的不同。如同实际显示,假如所有层被标记为OVERLAYframebuffer句柄在帧与帧之间是不会变的。

int outbufAcquireFenceFd;//此部分为当outbuf准备好可写的时候,fence将发出signal信号。当不用的时候,h/w composer负责将其关掉。当outbuf为空的时候或则可以立即写入数据时,其将返回为-1

hwc_module_t; // hardware composermodule通用方法,此必须作为hwc_module 的第一个成员,作为用户将hw_module与其在上下文的指针进行绑定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值