Remove experimental HWC virtual display support

Bug: 8384764
Change-Id: I97b52ed83ad85466bd91cb9291308994048568a1
diff --git a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
index 7e14d95..2838b23 100644
--- a/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
+++ b/services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
@@ -15,7 +15,9 @@
  */
 
 #include "VirtualDisplaySurface.h"
-#include "HWComposer.h"
+
+#include <cutils/log.h>
+#include <gui/IGraphicBufferProducer.h>
 
 // ---------------------------------------------------------------------------
 namespace android {
@@ -23,28 +25,16 @@
 
 VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc, int32_t dispId,
         const sp<IGraphicBufferProducer>& sink, const String8& name)
-:   mHwc(hwc),
-    mDisplayId(dispId),
-    mName(name)
+:   mSink(sink)
 {
-    if (mDisplayId >= 0) {
-        mInterposer = new BufferQueueInterposer(sink, name);
-        mSourceProducer = mInterposer;
-    } else {
-        mSourceProducer = sink;
-    }
+    LOG_ALWAYS_FATAL_IF(dispId >= 0);
 }
 
 VirtualDisplaySurface::~VirtualDisplaySurface() {
-    if (mAcquiredBuffer != NULL) {
-        status_t result = mInterposer->releaseBuffer(Fence::NO_FENCE);
-        ALOGE_IF(result != NO_ERROR, "VirtualDisplaySurface \"%s\": "
-                "failed to release buffer: %d", mName.string(), result);
-    }
 }
 
 sp<IGraphicBufferProducer> VirtualDisplaySurface::getIGraphicBufferProducer() const {
-    return mSourceProducer;
+    return mSink;
 }
 
 status_t VirtualDisplaySurface::compositionComplete() {
@@ -52,60 +42,10 @@
 }
 
 status_t VirtualDisplaySurface::advanceFrame() {
-    if (mInterposer == NULL)
-        return NO_ERROR;
-
-    Mutex::Autolock lock(mMutex);
-    status_t result = NO_ERROR;
-
-    if (mAcquiredBuffer != NULL) {
-        ALOGE("VirtualDisplaySurface \"%s\": "
-                "advanceFrame called twice without onFrameCommitted",
-                mName.string());
-        return INVALID_OPERATION;
-    }
-
-    sp<Fence> fence;
-    result = mInterposer->acquireBuffer(&mAcquiredBuffer, &fence);
-    if (result == BufferQueueInterposer::NO_BUFFER_AVAILABLE) {
-        result = mInterposer->pullEmptyBuffer();
-        if (result != NO_ERROR)
-            return result;
-        result = mInterposer->acquireBuffer(&mAcquiredBuffer, &fence);
-    }
-    if (result != NO_ERROR)
-        return result;
-
-    result = mHwc.fbPost(mDisplayId, fence, mAcquiredBuffer);
-    if (result == NO_ERROR) {
-        result = mHwc.setOutputBuffer(mDisplayId, fence, mAcquiredBuffer);
-    }
-    return result;
+    return NO_ERROR;
 }
 
 void VirtualDisplaySurface::onFrameCommitted() {
-    if (mInterposer == NULL)
-        return;
-
-    Mutex::Autolock lock(mMutex);
-    if (mAcquiredBuffer != NULL) {
-        // fbFence signals when reads from the framebuffer are finished
-        // outFence signals when writes to the output buffer are finished
-        // It's unlikely that there will be an implementation where fbFence
-        // signals after outFence (in fact they'll typically be the same
-        // sync_pt), but just to be pedantic we merge them so the sink will
-        // be sure to wait until both are complete.
-        sp<Fence> fbFence = mHwc.getAndResetReleaseFence(mDisplayId);
-        sp<Fence> outFence = mHwc.getLastRetireFence(mDisplayId);
-        sp<Fence> fence = Fence::merge(
-                String8::format("HWC done: %.21s", mName.string()),
-                fbFence, outFence);
-
-        status_t result = mInterposer->releaseBuffer(fence);
-        ALOGE_IF(result != NO_ERROR, "VirtualDisplaySurface \"%s\": "
-                "failed to release buffer: %d", mName.string(), result);
-        mAcquiredBuffer.clear();
-    }
 }
 
 void VirtualDisplaySurface::dump(String8& result) const {