Android 源码分析 - 显示 - Kernel层

framebuffer

/dev/graphic/fb0

/dev/graphic/fb1

opengl

sync

        高级DMA操作(比如multimedia, camera, gpu, display)中,缓存的消费者需要知道生产者何时完成该缓存的填充;相似的,生产者也需要知道消费者何时完成缓存的使用,然后他可以继续填充新的内容。一个缓存可能同时被多个消费者持有不同的时间,一个消费者也可能同时消费多个缓存。

        Sync框架用来支持生产者与消费者间用统一的方式进行同步,同时也允许平台利用硬件同步实现。

对象模型:

  • sync_timeline

        描述一个工作流水线。

  • sync_pt

        代表流水线上的一个点,一个sync_pt只有一个sync_timeline父亲。sync_pt有三个状态:active、signaled、error。开始于active状态,当流水线进行到该点时,变成signaled状态。

  • sync_fence

        sync_fence是驱动之间协调缓存使用的主要机制。sync_fence是sync_pt的集合,这些sync_pt可能不在同一个流水线上。一个sync_pt只能存在与一个sync_fence中,sync_fence一旦创建就不能修改了。sync_fence可以被同步或者异步等待。两个sync_fence可以合并创建一个新的包含所有sync_pt的sync_fence。sync_fence由文件描述符支持,这样用户程序也可以参与同步。

/dev/sw_sync

        打开该设备文件,创建软件流水线,用ioctl创建fence,模拟流水线进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting Horse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值