Remove experimental HWC virtual display support
Bug: 8384764
Change-Id: I97b52ed83ad85466bd91cb9291308994048568a1
diff --git a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h
index 0706e75..f321795 100644
--- a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h
+++ b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h
@@ -17,7 +17,6 @@
#ifndef ANDROID_SF_VIRTUAL_DISPLAY_SURFACE_H
#define ANDROID_SF_VIRTUAL_DISPLAY_SURFACE_H
-#include "BufferQueueInterposer.h"
#include "DisplaySurface.h"
// ---------------------------------------------------------------------------
@@ -26,33 +25,8 @@
class HWComposer;
-/* This DisplaySurface implementation uses a BufferQueueInterposer to pass
- * partially- or fully-composited buffers from the OpenGL ES driver to
- * HWComposer to use as the output buffer for virtual displays. Allowing HWC
- * to compose into the same buffer that contains GLES results saves bandwidth
- * compared to having two separate BufferQueues for frames with at least some
- * GLES composition.
- *
- * The alternative would be to have two complete BufferQueues, one from GLES
- * to HWC and one from HWC to the virtual display sink (e.g. video encoder).
- * For GLES-only frames, the same bandwidth saving could be achieved if buffers
- * could be acquired from the GLES->HWC queue and inserted into the HWC->sink
- * queue. That would be complicated and doesn't help the mixed GLES+HWC case.
- *
- * On frames with no GLES composition, the VirtualDisplaySurface dequeues a
- * buffer directly from the sink IGraphicBufferProducer and passes it to HWC,
- * bypassing the GLES driver. This is only guaranteed to work if
- * eglSwapBuffers doesn't immediately dequeue a buffer for the next frame,
- * since we can't rely on being able to dequeue more than one buffer at a time.
- *
- * This class also has a passthrough mode, where it doesn't use a
- * BufferQueueInterposer and never sends buffers to HWC. Instead, OpenGL ES
- * output buffers are queued directly to the virtual display sink; this class
- * is inactive after construction. This mode is used when the HWC doesn't
- * support compositing for virtual displays.
- *
- * TODO(jessehall): Add a libgui test that ensures that EGL/GLES do lazy
- * dequeBuffers; we've wanted to require that for other reasons anyway.
+/* This DisplaySurface implementation is a stub used for developing HWC
+ * virtual display support. It is currently just a passthrough.
*/
class VirtualDisplaySurface : public DisplaySurface {
public:
@@ -70,19 +44,7 @@
private:
virtual ~VirtualDisplaySurface();
- // immutable after construction
- HWComposer& mHwc;
- int32_t mDisplayId;
- String8 mName;
-
- // with HWC support, both of these point to the same object.
- // otherwise, mInterposer is NULL and mSourceProducer is the sink.
- sp<BufferQueueInterposer> mInterposer;
- sp<IGraphicBufferProducer> mSourceProducer;
-
- // mutable, must be synchronized with mMutex
- Mutex mMutex;
- sp<GraphicBuffer> mAcquiredBuffer;
+ sp<IGraphicBufferProducer> mSink;
};
// ---------------------------------------------------------------------------