Implement per-display EGLConfig and configless EGLContext
Bug: 12230666
Change-Id: Icca608b108cbdcab9cf01a9236d8cdbda000a836
Signed-off-by: Jesse Hall <jessehall@google.com>
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index c7d1a90..1b652c3 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -455,7 +455,11 @@
}
uint32_t HWComposer::getFormat(int disp) const {
- return mDisplayData[disp].format;
+ if (uint32_t(disp)>31 || !mAllocatedDisplayIDs.hasBit(disp)) {
+ return HAL_PIXEL_FORMAT_RGBA_8888;
+ } else {
+ return mDisplayData[disp].format;
+ }
}
float HWComposer::getDpiX(int disp) const {
@@ -1147,7 +1151,7 @@
}
HWComposer::DisplayData::DisplayData()
-: width(0), height(0), format(0),
+: width(0), height(0), format(HAL_PIXEL_FORMAT_RGBA_8888),
xdpi(0.0f), ydpi(0.0f),
refresh(0),
connected(false),