当lcm芯片不支持画面旋转时,需要对平台进行修改。

路径:frameworks//native/services/surfaceflinger/SurfaceFlinger.cpp

diff --git a/native/services/surfaceflinger/SurfaceFlinger.cpp b/native/services/surfaceflinger/SurfaceFlinger.cpp
index 09bd38f..2b1c820 100644
--- a/native/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/native/services/surfaceflinger/SurfaceFlinger.cpp
@@ -361,7 +361,7 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipIuseContextPriority = use_context_priority(true);using Values = SurfaceFlingerProperties::primary_display_orientation_values;
-    switch (primary_display_orientation(Values::ORIENTATION_0)) {
+    switch (primary_display_orientation(Values::ORIENTATION_180)) {case Values::ORIENTATION_0:break;case Values::ORIENTATION_90:
@@ -5519,6 +5519,9 @@ status_t SurfaceFlinger::captureScreen(const sp<IBinder>& displayToken,ATRACE_CALL();if (!displayToken) return BAD_VALUE;
+     if (internalDisplayOrientation != ui::ROTATION_0) {
+        rotation = rotation + internalDisplayOrientation;      //适应普通手机截屏
+    }auto renderAreaRotation = ui::Transform::toRotationFlags(rotation);if (renderAreaRotation == ui::Transform::ROT_INVALID) {
@@ -5616,14 +5619,20 @@ status_t SurfaceFlinger::captureScreen(uint64_t displayOrLayerStack, Dataspace*width = uint32_t(display->getViewport().width());height = uint32_t(display->getViewport().height());-        const auto orientation = display->getOrientation();
+        auto orientation = display->getOrientation();captureOrientation = ui::Transform::toRotationFlags(orientation);+        if (internalDisplayOrientation != ui::ROTATION_0) {
+            orientation = orientation + internalDisplayOrientation;
+            captureOrientation = ui::Transform::toRotationFlags(orientation);   //适应adb截屏
+        }switch (captureOrientation) {case ui::Transform::ROT_90:captureOrientation = ui::Transform::ROT_270;break;
-
+            case ui::Transform::ROT_180:
+                captureOrientation = ui::Transform::ROT_180;
+                break;case ui::Transform::ROT_270:captureOrientation = ui::Transform::ROT_90;break;

路径:device/sprd/mpool/module/gpu/main.mk

diff --git a/module/gpu/main.mk b/module/gpu/main.mk
index 8514e3af..26f9de80 100644
--- a/module/gpu/main.mk
+++ b/module/gpu/main.mk
@@ -24,7 +24,7 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ro.surface_flinger.use_vr_flinger=false \ro.surface_flinger.max_frame_buffer_acquired_buffers=3 \ro.surface_flinger.start_graphics_allocator_service=false \
-    ro.surface_flinger.primary_display_orientation=ORIENTATION_0
+    ro.surface_flinger.primary_display_orientation=ORIENTATION_180# Memtack HALPRODUCT_PACKAGES += \

展讯平台lcm旋转180°相关推荐

  1. 展讯平台-sensor驱动

        驱动者,三分硬件,三分格式,四分软件.     在手机中,我们常将camera直接称为sensor,展讯平台的sensor就像lcd一样,已经十分的成熟了.沿袭前面的模式,先介绍一下硬件的基本 ...

  2. 展讯平台 LCD(Mipi)移植步骤及问题归纳

    PortingGuide Backlight 背光的硬件设计有两种情况:  1. 内置并联背光  2. 外置串联背光  对于 1 的情况,步骤如下:  1.移植对应的 lcd 驱动.  2.设置u-b ...

  3. 1.3【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志

    前言 [展讯平台]Android 4.4 驱动(Kernel).系统(framework) 定制,调试日志 正文 1:提高串口日志等级 查看 adb shell cat /proc/sys/kerne ...

  4. 展讯平台lcd频率计算

    展讯平台点屏时要配置两个时钟(phy_freq和pixel_clk),那这两个参数要怎么配置呢,我们可以找到展讯的这份文档,输入屏的参数,即可计算出相应的时钟.如 然后将相应的参数填到屏的配置文件中, ...

  5. 展讯平台初步调试笔记

    最近公司换新的平台,之前用MTK的,现在主要是展讯的,当然也要重新学习了. 1.project_sc6600l_sp6601l_trisim_64X32.mk为三卡的FLASH大小为6432的. MS ...

  6. 展讯平台功耗调试记录

    展讯平台功耗调试记录 1.查看应用持有锁:dumpsys power | grep LOCK 2.查看内核持有锁:cat /d/wakeup_sources 休眠后查看唤醒源:串口 log 打印 Wa ...

  7. 【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志,持续更新中..

    前言 [展讯平台]Android 4.4 驱动(Kernel).系统(framework) 定制,调试日志 正文 1:提高串口日志等级 查看 adb shell cat /proc/sys/kerne ...

  8. 展讯平台-LCD驱动

    所谓驱动者,三分硬件,三分格式,四分软件.对于展讯平台的LCD驱动,首先就要了解一点基本的硬件知识. 一.LCD的接口 其实LCD的接口有很多,但是不管是在手机还是电脑,液晶屏的接口也最常用的有两个, ...

  9. 展讯平台sysdump解析

    先确认有当前镜像的vmlinux文件,插入sdcard后,内核出现问题会触发sysdump,sysdump内容保存在YLOG文件夹. 将vmlinux,crash_arm(vendor/sprd/to ...

最新文章

  1. Docker 公司是如何做社区的?
  2. util.Date与sql.Date的相互转换以及区别
  3. 一天搞定CSS: 浮动(float)及文档流--10
  4. thread local storage
  5. Source Insight 创建工程(linux-2.6.22.6内核源码)
  6. [leetcode ]429. N-ary Tree Level Order Traversale (easy)
  7. Sublime Text 3 设置
  8. bm算法java,图解 BM 算法
  9. 系统同步网络时间服务器不可用,电脑时间同步出错 RPC服务器不可用解决方案...
  10. [TYVJ1143]飘飘乎居士的约会
  11. 智能云720全景云xi统可生成小程序带PC端+新手搭建教程|实时观景
  12. 编写代码的「八荣八耻」(上篇)
  13. python实现去除图片水印
  14. 四维超混沌系统matlab
  15. U盘制做多系统启动盘
  16. safari html5插件安装,Safari巧用小插件 体验不输第三方浏览器
  17. go和python优缺点_我为什么放弃了 Python ,选择了 Go?
  18. 深入理解立即数与直接寻址
  19. 一年过去了,Uber 的致命事故给我们上了哪些生动的警示课?...
  20. web服务器 ---nginx 虚拟主机的创建(基于 域名 . 端口 . ip )以及nginx访问控制

热门文章

  1. 新授粉方式的花授粉算法-附代码
  2. javascript/JS限制用户名只能输入字母和数字下划线
  3. iOS 动画篇 - CAAnimation初识
  4. MybatisPlus,无XML分分钟实现CRUD
  5. DEJA_VU3D - Cesium功能集 之 079-对象材质:动态扩散圆
  6. 論建立实时大数据平台
  7. uniapp radio如何实现取消选中
  8. Catal私有云平台是什么?
  9. □ 影片名:《无法抗拒的诱惑》(27139) 在线播放
  10. 3DCityDB学习一