[发明专利]一种合成内存管理方法及系统有效
申请号: | 201410836471.6 | 申请日: | 2014-12-23 |
公开(公告)号: | CN105786479B | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 季卫华 | 申请(专利权)人: | 联芯科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 合成 内存 管理 方法 系统 | ||
1.一种合成内存管理方法,应用于Android平台,其特征在于,包括:
在EGL中添加一第一接口;
在SurfaceFlinger中进行2D合成时,调用所述第一接口;在SurfaceFlinger中进行3D合成时,调用一第二接口;
所述在SurfaceFlinger中进行2D合成时,调用所述第一接口的步骤包括:
调用BufferQueue的dequeueBuffer函数获得一片帧缓冲区;
调用BufferQueue的queueBuffer函数,使BufferQueue调用HWComposer的fbPost函数,把该片帧缓冲区交给HWComposer,作为2D加速器的目标缓冲区;
SurfaceFlinger调用HWComposer的commit函数,HWComposer启动2D加速器进行合成;
调用framebuffer_device_t的接口fb_post,把合成好的目标缓冲区交给framebuffer_device_t送入显示器显示。
2.如权利要求1所述的合成内存管理方法,其特征在于,所述在SurfaceFlinger中进行3D合成时,调用所述第二接口的步骤包括:
调用BufferQueue的dequeueBuffer函数获得一片帧缓冲区;
启动图像处理器把各个窗口的内容合成到该片帧缓冲区上,获得合成好的帧缓冲区;
调用BufferQueue的queueBuffer函数,使BufferQueue调用HWComposer的fbPost函数,把所述合成好的帧缓冲区交给HWComposer,作为2D加速器的目标缓冲区;
SurfaceFlinger调用HWComposer的commit函数,使HWComposer调用framebuffer_device_t的接口fb_post,把所述目标缓冲区交给framebuffer_device_t送入液晶显示器显示。
3.如权利要求1所述的合成内存管理方法,其特征在于,所述第一接口为eglSwapBuffersVIV接口,所述第二接口为eglSwapBuffers接口。
4.一种合成内存管理系统,应用于Android平台,其特征在于,包括:
添加模块,用于在EGL中添加一第一接口;
调用模块,用于在SurfaceFlinger中进行2D合成时,调用所述第一接口;在SurfaceFlinger中进行3D合成时,调用一第二接口;
在所述调用模块中,在SurfaceFlinger中进行2D合成调用所述第一接口时,还包括:
第一调用模块,用于调用BufferQueue的dequeueBuffer函数获得一片帧缓冲区;
第二调用模块,用于调用BufferQueue的queueBuffer函数,使BufferQueue调用HWComposer的fbPost函数,把该片帧缓冲区交给HWComposer,作为2D加速器的目标缓冲区;
第三调用模块,用于SurfaceFlinge调用HWCompose的commit函数,HWComposer启动2D加速器进行合成;
第四调用模块,用于调用framebuffer_device_t的接口fb_post,把合成好的目标缓冲区交给framebuffer_device_t送入液晶显示器显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联芯科技有限公司,未经联芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410836471.6/1.html,转载请声明来源钻瓜专利网。