Loading services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp +12 −4 Original line number Diff line number Diff line Loading @@ -98,10 +98,6 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc, } mOutputFormat = mDefaultOutputFormat; ConsumerBase::mName = String8::format("VDS: %s", mDisplayName.c_str()); mConsumer->setConsumerName(ConsumerBase::mName); mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER); mConsumer->setDefaultBufferSize(sinkWidth, sinkHeight); sink->setAsyncMode(true); IGraphicBufferProducer::QueueBufferOutput output; mSource[SOURCE_SCRATCH]->connect(nullptr, NATIVE_WINDOW_API_EGL, false, &output); Loading @@ -111,6 +107,18 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc, } } void VirtualDisplaySurface::initializeConsumer() { ConsumerBase::mName = String8::format("VDS: %s", mDisplayName.c_str()); mConsumer->setConsumerName(ConsumerBase::mName); mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER); mConsumer->setDefaultBufferSize(mSinkBufferWidth, mSinkBufferHeight); } void VirtualDisplaySurface::onFirstRef() { ConsumerBase::onFirstRef(); initializeConsumer(); } VirtualDisplaySurface::~VirtualDisplaySurface() { mSource[SOURCE_SCRATCH]->disconnect(NATIVE_WINDOW_API_EGL); } Loading services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h +4 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,8 @@ public: // any client composition prediction. virtual bool supportsCompositionStrategyPrediction() const override { return false; }; void onFirstRef() override; private: enum Source : size_t { SOURCE_SINK = 0, Loading @@ -100,6 +102,8 @@ private: ftl_last = SOURCE_SCRATCH, }; void initializeConsumer(); virtual ~VirtualDisplaySurface(); // Loading Loading
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp +12 −4 Original line number Diff line number Diff line Loading @@ -98,10 +98,6 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc, } mOutputFormat = mDefaultOutputFormat; ConsumerBase::mName = String8::format("VDS: %s", mDisplayName.c_str()); mConsumer->setConsumerName(ConsumerBase::mName); mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER); mConsumer->setDefaultBufferSize(sinkWidth, sinkHeight); sink->setAsyncMode(true); IGraphicBufferProducer::QueueBufferOutput output; mSource[SOURCE_SCRATCH]->connect(nullptr, NATIVE_WINDOW_API_EGL, false, &output); Loading @@ -111,6 +107,18 @@ VirtualDisplaySurface::VirtualDisplaySurface(HWComposer& hwc, } } void VirtualDisplaySurface::initializeConsumer() { ConsumerBase::mName = String8::format("VDS: %s", mDisplayName.c_str()); mConsumer->setConsumerName(ConsumerBase::mName); mConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_COMPOSER); mConsumer->setDefaultBufferSize(mSinkBufferWidth, mSinkBufferHeight); } void VirtualDisplaySurface::onFirstRef() { ConsumerBase::onFirstRef(); initializeConsumer(); } VirtualDisplaySurface::~VirtualDisplaySurface() { mSource[SOURCE_SCRATCH]->disconnect(NATIVE_WINDOW_API_EGL); } Loading
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h +4 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,8 @@ public: // any client composition prediction. virtual bool supportsCompositionStrategyPrediction() const override { return false; }; void onFirstRef() override; private: enum Source : size_t { SOURCE_SINK = 0, Loading @@ -100,6 +102,8 @@ private: ftl_last = SOURCE_SCRATCH, }; void initializeConsumer(); virtual ~VirtualDisplaySurface(); // Loading