我是靠谱客的博主 仁爱向日葵,最近开发中收集的这篇文章主要介绍iTOP4412|Android-4.4.4_r1 Gralloc0 前言1 HAL2 FW3 其它参考资料,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
0 前言
《iTOP4412|Android-4.0.3_r1 Gralloc》分析了4.0.3_r1版本的Gralloc实现和使用i情况,本文继续基于android-4.4.4_r1进行分析。
1 HAL
和《iTOP4412|Android-4.0.3_r1 Gralloc》相比,就是源码路径发生了变化,其它的并没有多差异:
struct private_module_t HAL_MODULE_INFO_SYM = {
base: {
common: {
tag: HARDWARE_MODULE_TAG,
version_major: 1,
version_minor: 0,
id: GRALLOC_HARDWARE_MODULE_ID,
name: "Graphics Memory Allocator Module",
author: "ARM Ltd.",
methods: &gralloc_module_methods,
dso: NULL,
reserved : {0,},
},
registerBuffer: gralloc_register_buffer,
unregisterBuffer: gralloc_unregister_buffer,
lock: gralloc_lock,
unlock: gralloc_unlock,
getphys: gralloc_getphys,
perform: NULL,
lock_ycbcr: NULL,
reserved_proc: {0,},
},
framebuffer: NULL,
flags: 0,
numBuffers: 0,
bufferMask: 0,
lock: PTHREAD_MUTEX_INITIALIZER,
currentBuffer: NULL,
ion_client: -1,
};
// @file: hardware/samsung_slsi/exynos4/libgralloc_ump/gralloc_module.cpp
1.1 .open()
static int gralloc_device_open(const hw_module_t* module, const char* name, hw_device_t** device)
{
int status = -EINVAL;
char property[PROPERTY_VALUE_MAX];
if (!strcmp(name, GRALLOC_HARDWARE_GPU0))
status = alloc_device_open(module, name, device);
else if (!strcmp(name, GRALLOC_HARDWARE_FB0))
status = framebuffer_device_open(module, name, device);
property_get("ro.build.version.sdk",property,0);
gSdkVersion = atoi(property);
return status;
}
// @file: hardware/samsung_slsi/exynos4/libgralloc_ump/gralloc_module.cpp
2 FW
基本同《iTOP4412|Android-4.0.3_r1 Gralloc》,就是多了HWComposer这个应用场景,同时使用同时使用上述gralloc_module_t和framebuffer_device_t,详见《iTOP4412|Android-4.4.4_r1 HWC-1.1》。
3 其它
比 《iTOP4412|Android-4.0.3_r1 Gralloc》多了许多。
参考资料
[1]Android-4.4图像显示之gralloc驱动分析
最后
以上就是仁爱向日葵为你收集整理的iTOP4412|Android-4.4.4_r1 Gralloc0 前言1 HAL2 FW3 其它参考资料的全部内容,希望文章能够帮你解决iTOP4412|Android-4.4.4_r1 Gralloc0 前言1 HAL2 FW3 其它参考资料所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复