Landscape UI on Portait LCM (竖屏横用/直屏横用)使用

来源:互联网 发布:以色列粮食进口数据 编辑:程序博客网 时间:2024/05/29 04:58
1. 直屏比橫屏便宜許多 
2. Qwerty keypad phone(全键盘手机),客戶普遍用”直屏橫放“的方式來实现, 但得自己承受 performance 和tearing(斜切屏) 問題. 因为使用LCM做90度Rotate,则必然出现斜切屏。
3. MTK 提供tearing-free(斜切屏解决方法) 以及 good performance。无需LCM做90度 Rotate,由MTK完成rotate。但是需要消耗更多的RAM资源 ,因为需要多一些working buffers但有一定限制条件。 


1.    设置project.mak
1)10A [MT6252/MT6253]
LANDSCAPE_UI_ON_POTRAIT_LCM = TRUE
LANDSCAPE_UI_ON_POTRAIT_LCM_CCW_ROTATION_ANGLE = 270
HORIZONTAL_CAMERA = FALSE
2)HAL(11A/11B及以后)
MAIN_LCD_SIZE = 
LCM_SCANLINE_ROTATION_SUPPORT = TRUE
// Main LCD
MAIN_LCM_SCANLINE_ROTATION = TRUE
MAIN_LCM_SCANLINE_ROTATION_CCW_ANGLE = 270  // 270/90
// Sub LCD
SUB_LCM_SCANLINE_ROTATION = FALSE
SUB_LCM_SCANLINE_ROTATION_CCW_ANGLE = 0
HORIZONTAL_CAMERA = FALSE
2.    特别说明及限制
1)11B1132MP [MT6252] 
a)需要申请patch,Patch ID: MAUI_03081992
b)如果如下有些option在您的makefile中不存在,还请自行添加。
MAIN_LCD_SIZE = 
LCM_SCANLINE_ROTATION_SUPPORT = TRUE
MAIN_LCM_SCANLINE_ROTATION = TRUE
MAIN_LCM_SCANLINE_ROTATION_CCW_ANGLE = 270
SUB_LCM_SCANLINE_ROTATION = FALSE
SUB_LCM_SCANLINE_ROTATION_CCW_ANGLE = 0
2) MT6252平台,受MDP限制,必须设置CCW_ANGLE = 270.   
如果界面出现了180度反转,修改LCM setting里scan Direction的方向180度即可。
   
3)如果是MT6250 & MT6255平台.開了LCM_SCANLINE_ROTATION_SUPPORT = TRUE之後會遇到開不了機的問題.
請修改2隻檔案.
     1.open hal/display/flatten/src/flatten_api.c
Please find the function (FlattenGetOwnership).
        //if(KAL_TRUE == system_init_status)  (Please mark this line)
        {
           system_init_status = kal_query_systemInit();// only in systemInit needs to check
        }    
        if ( (KAL_TRUE == system_init_status) || (INT_QueryExceptionStatus()) )
        {
           g2dSetCallbackFunction(g2d_handle,NULL);
        }
    2.open hal/display/flatten/src/hw_6250/flatten_api_6250.c
          or /hal/display/flatten/src/hw_6255/flatten_api_6255.c
Please find the function (__flatten_gOvlRot_WaitEvent).
 
        IRQMask(IRQ_GOVL_CODE);
        while(GOVL_IS_RUNNING);
        //__flatten_gRot_WaitHWIdle();
        {
            pCtrlConfig->rotationAngle = FLATTEN_ROTATION_0;
            //RestoreIRQMask(save_irq_mask);
        }
       GOVL_CLEAR_INT_STATUS;  (Please add code).
        REG_GOVL_IRQ;
 
        __flatten_gOvl_ExecActiveEventsCb(FLATTEN_GOVL_HW_TRANSFER_COMPLETE_EVENT);
        IRQUnmask(IRQ_GOVL_CODE);
 
at last, please m r drv_display and try again.
Thanks.
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 偏头疼怎么办最快最有效 手机4g信号差怎么办 防爆胎扎了钉子怎么办 多肉干瘪了萎缩怎么办 做了防水还漏水怎么办 厨房做了防水漏怎么办 手表防水膏多了怎么办 单反镜头有指纹怎么办 手机解锁键坏了怎么办 lv包肩带胶熔了怎么办 手机膜进空气了怎么办 铁的下水管漏水怎么办 刚浇的水泥开裂怎么办 马桶移位器堵了怎么办 分散片直接吃了怎么办 坐马桶拉不出来怎么办 泥状面膜干了怎么办 苹果6s掉水里了怎么办 手机充电口松了怎么办 手机液体膜碎了怎么办 车膜贴的太黑了怎么办 苹果7后壳氧化怎么办 苹果6s后盖氧化怎么办 苹果6s后壳氧化怎么办 食道癌吃了就吐怎么办 有眼袋和泪沟怎么办? 泪沟和眼袋都有怎么办 脸上的汗毛很长怎么办 点痣留下褐色印怎么办 氮氧传感器坏了怎么办 考试车离合太松怎么办 胎心监护不过关怎么办 羚羊角的功效与作用发烧怎么办 小孩上课注意力不集中怎么办 2岁宝宝不会说话怎么办 小孩脖子上长淋巴结怎么办 小孩子上课注意力不集中该怎么办 脸过敏干燥起皮怎么办 脸上皮肤干燥起皮怎么办 身上皮肤干燥起皮怎么办 皮肤暗黄有色斑怎么办