summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--hwc2/common/devices/PhysicalDevice.cpp18
-rw-r--r--hwc2/common/devices/PrimaryDevice.cpp48
-rw-r--r--hwc2/common/hdmi/DisplayHdmi.cpp16
-rw-r--r--hwc2/common/hdmi/DisplayHdmi.h1
-rw-r--r--hwc2/common/utils/SysTokenizer.cpp180
-rw-r--r--hwc2/common/utils/SysTokenizer.h135
-rw-r--r--hwc2/include/PhysicalDevice.h4
-rw-r--r--hwc2/include/PrimaryDevice.h14
-rw-r--r--hwc2/platforms/Android.mk3
9 files changed, 407 insertions, 12 deletions
diff --git a/hwc2/common/devices/PhysicalDevice.cpp b/hwc2/common/devices/PhysicalDevice.cpp
index 3c9d462..175cfa8 100644
--- a/hwc2/common/devices/PhysicalDevice.cpp
+++ b/hwc2/common/devices/PhysicalDevice.cpp
@@ -124,12 +124,28 @@ bool PhysicalDevice::initialize() {
}
mDisplayHdmi = new DisplayHdmi();
- mDisplayHdmi->initialize(*(mFramebufferContext->getInfo()));
+ framebuffer_info_t framebufferInfo = *(mFramebufferContext->getInfo());
+ framebufferInfo.info.xres = mDisplayWidth;
+ framebufferInfo.info.yres = mDisplayHeight;
+ mDisplayHdmi->initialize(framebufferInfo);
mInitialized = true;
return true;
}
+void PhysicalDevice::updateDisplayInfo(char defaultMode[64]) {
+ if (!strncmp(defaultMode, "720", 3)) {
+ mDisplayWidth= FULL_WIDTH_720;
+ mDisplayHeight = FULL_HEIGHT_720;
+ } else if (!strncmp(defaultMode, "1080", 4)) {
+ mDisplayWidth = FULL_WIDTH_1080;
+ mDisplayHeight = FULL_HEIGHT_1080;
+ } else if (!strncmp(defaultMode, "4k2k", 4)) {
+ mDisplayWidth = FULL_WIDTH_4K2K;
+ mDisplayHeight = FULL_HEIGHT_4K2K;
+ }
+}
+
void PhysicalDevice::hdcpEventListener(void *data, bool status) {
PhysicalDevice *pThis = (PhysicalDevice*)data;
if (pThis) {