Revert "Remove gl surfaces from DisplayDevice."
This reverts commit ce0ad96d3c23b6b7bc4d6a540141ea1111b4430e.
Reason for revert: breaks screenrecord (b/119534075)
Change-Id: I45af7b49a490601fcc68ca55c79f590bb0db1b01
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 7696758..2858b7b 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2330,6 +2330,14 @@
auto nativeWindow = nativeWindowSurface->getNativeWindow();
creationArgs.nativeWindow = nativeWindow;
+ /*
+ * Create our display's surface
+ */
+ std::unique_ptr<renderengine::Surface> renderSurface = getRenderEngine().createSurface();
+ renderSurface->setCritical(isInternalDisplay);
+ renderSurface->setAsync(state.isVirtual());
+ creationArgs.renderSurface = std::move(renderSurface);
+
// Make sure that composition can never be stalled by a virtual display
// consumer that isn't processing buffers fast enough. We have to do this
// here, in case the display is composed entirely by HWC.