android-显示
xieshsh_8756
android显示系统
展开
-
应用程序刷新surface时到sf的送显流程
Android的上层程序刷新的时候,对应的native层的surface中的buffer数据会被改变。 这里的surface对应的是BufferQueueProducer,当上层绘制完成之后,会调用到surface.cpp中的unlockAndPost()函数:status_t Surface::unlockAndPost(){ if (mLockedBuffer == 0) {原创 2017-01-15 22:32:56 · 1406 阅读 · 1 评论 -
SurfaceFlinger的init函数分析
直接上代码看得更直观//opengl 相关的初始化mEGLDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY); eglInitialize(mEGLDisplay, NULL, NULL); // Initialize the H/W composer object. There may or may not be an // actu原创 2017-01-19 20:39:53 · 509 阅读 · 0 评论 -
surfaceflinger增加hdmi显示设备
1:当hdmi插入的时候,hdmi驱动会上报一个中断上来,在驱动中会发送一个Uevent给上层。 “/sys/class/switch/hdmi/state” 这个节点会由0变成12:在HWC中,启动的时候就开启一个hdmi状态监听的线程,当这个节点有变化的时候,会去设置hdmi分辨率,打开hdmi设备,而且还更新自己的节点状态。根据上面的hdmi使能之后,调用到: HWC_OWL_Conte原创 2017-01-12 20:17:57 · 2329 阅读 · 2 评论 -
DisplayManagerService 上层到surfaceflinger流程分析
DisplayManagerService 的启动是在systemserver中;// Display manager is needed to provide display metrics before package manager // starts up. mDisplayManagerService = mSystemServiceManager.star原创 2017-01-19 15:35:12 · 5280 阅读 · 2 评论 -
Uboot中支持lcd和hdmi显示不同的logo图片
在lcd为竖屏,hdmi显示横屏的情况下,如果按照默认的uboot显示框架来看,只能保证lcd或者hdmi上面显示出来的图片一个是正的,另外一个是旋转了90度的样子。 为了能是lcd和hdmi同时支持显示图片都是正的,需要对uboot的框架做修改。如果硬件支持旋转功能的话,就可直接使用硬件旋转,不需要软件来调整。 由于项目原因,折腾了一把这个流程,具体实现记录下: 1:由于硬件不支持rotat原创 2017-02-09 19:19:26 · 2947 阅读 · 1 评论 -
uboot阶段显示流程分析
在uboot起来之后会执行board_init_r函数。在uboot/common/board_r.c 文件中 在这个函数中查找所有初始化的函数。在这里会做很多的初始化,比如nand,mmc等。ifdef CONFIG_VIDEO_BMP_LOGOsplash_image_init,endifstdio_add_devices,ifdef CONFIG_VIDEO_BMP_LOGOowl_dss_原创 2017-01-13 10:04:53 · 423 阅读 · 0 评论 -
应用程序创建layer的流程
1:layer的创建过程:在WMS中的relayoutWindow()函数中在winAnimator.createSurfaceLocked()中,会创建一个surfaceControl:mSurfaceControl = new SurfaceControl( //这里new出一个SurfaceControl的对象mSession.mSurfaceSession,attr原创 2017-01-12 20:44:44 · 624 阅读 · 0 评论 -
surfaceflinger中surface与layer的关系
以BootAnimation为例说明下surface与layer的关系: 在BootAnimation中 1:在BootAnimation的构造函数中 BootAnimation::BootAnimation(int animType) : Thread(false), mZip(NULL) { mAnimationType = animType; mSession =原创 2017-01-12 20:11:01 · 6424 阅读 · 0 评论 -
java层的surface创建过程
java层的surface如何创建原创 2017-03-01 14:28:38 · 1720 阅读 · 0 评论