diff options
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 8 | ||||
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.h | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 135bfbefa9..e0dbfaded3 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -163,7 +163,7 @@ SurfaceFlingerBE::SurfaceFlingerBE() } SurfaceFlinger::SurfaceFlinger() - : BnSurfaceComposer(), + : BnSurfaceComposer(), mTransactionFlags(0), mTransactionPending(false), mAnimTransactionPending(false), @@ -193,8 +193,8 @@ SurfaceFlinger::SurfaceFlinger() mHasPoweredOff(false), mNumLayers(0), mVrFlingerRequestsDisplay(false), - mMainThreadId(std::this_thread::get_id()) -{ + mMainThreadId(std::this_thread::get_id()), + mCreateBufferQueue(&BufferQueue::createBufferQueue) { ALOGI("SurfaceFlinger is starting"); vsyncPhaseOffsetNs = getInt64< ISurfaceFlingerConfigs, @@ -2213,7 +2213,7 @@ void SurfaceFlinger::processDisplayChangesLocked() { sp<IGraphicBufferProducer> producer; sp<IGraphicBufferProducer> bqProducer; sp<IGraphicBufferConsumer> bqConsumer; - BufferQueue::createBufferQueue(&bqProducer, &bqConsumer); + mCreateBufferQueue(&bqProducer, &bqConsumer, false); int32_t hwcId = -1; if (state.isVirtualDisplay()) { diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 08c4a5e3b1..37024ae028 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -87,6 +87,8 @@ class ColorLayer; class DisplayEventConnection; class EventControlThread; class EventThread; +class IGraphicBufferConsumer; +class IGraphicBufferProducer; class InjectVSyncSource; class Layer; class Surface; @@ -822,6 +824,12 @@ private: float mSaturation = 1.0f; bool mForceNativeColorMode = false; + using CreateBufferQueueFunction = + std::function<void(sp<IGraphicBufferProducer>* /* outProducer */, + sp<IGraphicBufferConsumer>* /* outConsumer */, + bool /* consumerIsSurfaceFlinger */)>; + CreateBufferQueueFunction mCreateBufferQueue; + SurfaceFlingerBE mBE; }; }; // namespace android |