Create libhwc2on1adapter
Extract the adapter out of SurfaceFlinger library to allow code
behind HAL to use it.
Test: Manual
Change-Id: I415aa2674564eccb2c38f76086807f834177f80f
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index f03491f..e1138af 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -47,7 +47,7 @@
#include <log/log.h>
#include "HWComposer.h"
-#include "HWC2On1Adapter.h"
+#include "hwc2on1adapter/HWC2On1Adapter.h"
#include "HWC2.h"
#include "ComposerHal.h"
@@ -267,6 +267,15 @@
return NO_MEMORY;
}
+ if (MAX_VIRTUAL_DISPLAY_DIMENSION != 0 &&
+ (width > MAX_VIRTUAL_DISPLAY_DIMENSION ||
+ height > MAX_VIRTUAL_DISPLAY_DIMENSION)) {
+ ALOGE("createVirtualDisplay: Can't create a virtual display with"
+ " a dimension > %u (tried %u x %u)",
+ MAX_VIRTUAL_DISPLAY_DIMENSION, width, height);
+ return INVALID_OPERATION;
+ }
+
std::shared_ptr<HWC2::Display> display;
auto error = mHwcDevice->createVirtualDisplay(width, height, format,
&display);