summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp8
-rw-r--r--services/surfaceflinger/SurfaceFlinger.h8
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