S5PV210 多媒体预留内存空间 4 - textscream, GPU1

textscream

是为3D引擎预留的内存,在drivers/gpu/pvr/s3c_bc/s3c_bc.c使用预留内存空间。


reserved size = ALIGN(fb0->var.xres * fb0->var.yres * fb0->var.bits_per_pixel, PAGE_ALIGN) * 2

如果framebuffer的xres=800 yres=480,那么所需的预留内存为3000kB


GPU1

#define  S5PV210_ANDROID_PMEM_MEMSIZE_PMEM_GPU1 (3300 * SZ_1K)

这个预留内存是为android系统特有的pmem驱动预留的,pmem是android为DSP vpu gpu等设备提供的一种内存分配机制,我们都知道vpu gpu这一类设备需要大块的连续物理内存以便进行硬件解码,硬件显示加速。PMEM就像一个小型的buddy内存管理系统,独立于linux kernel内存管理模块管理,不会受到内存管理中的外碎片的影响,同时还可以灵活的提供额外功能。

当然在系统运行一段时间后,PMEM也同样面临着外碎片问题,因此PMEM内存区的使用者尽量分配大块的内存,而不是零星的小内存。

在S5PV210平台代码中,仅仅propriety/libcopybit/使用该驱动,libcopybit共享库提供硬件的区块copy,这个功能和要借助FIMC1硬件完成,内存的分配可以使用FIMC1的物理内存,也可以使用PMEM1分配物理内存。因此我觉得如果强制使用FIMC1的内存,那么就不需要为PMEM1预留内存了。

libcopybit需要物理内存大小

buffer_count * buffer_size = 2 * (lcd_width * lcd_height * (bpp / 8)) = 3000KB。

当然理论上PMEM1还可能被系统其他需要连续物理内存的部件使用。





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值