Loading services/surfaceflinger/BufferLayer.h +1 −2 Original line number Diff line number Diff line Loading @@ -171,7 +171,7 @@ protected: // the mStateLock. ui::Transform::RotationFlags mTransformHint = ui::Transform::ROT_0; bool getAutoRefresh() const { return mAutoRefresh; } bool getAutoRefresh() const { return mDrawingState.autoRefresh; } bool getSidebandStreamChanged() const { return mSidebandStreamChanged; } // Returns true if the next buffer should be presented at the expected present time Loading @@ -182,7 +182,6 @@ protected: // specific logic virtual bool isBufferDue(nsecs_t /*expectedPresentTime*/) const = 0; std::atomic<bool> mAutoRefresh{false}; std::atomic<bool> mSidebandStreamChanged{false}; private: Loading services/surfaceflinger/BufferQueueLayer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t bool autoRefresh; status_t updateResult = mConsumer->updateTexImage(&r, expectedPresentTime, &autoRefresh, &queuedBuffer, maxFrameNumberToAcquire); mAutoRefresh = autoRefresh; mDrawingState.autoRefresh = autoRefresh; if (updateResult == BufferQueue::PRESENT_LATER) { // Producer doesn't want buffer to be displayed yet. Signal a // layer update so we check again at the next opportunity. Loading Loading @@ -300,7 +300,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t // Decrement the queued-frames count. Signal another event if we // have more frames pending. if ((queuedBuffer && more_frames_pending) || mAutoRefresh) { if ((queuedBuffer && more_frames_pending) || mDrawingState.autoRefresh) { mFlinger->onLayerUpdate(); } Loading services/surfaceflinger/BufferStateLayer.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -667,9 +667,7 @@ bool BufferStateLayer::onPreComposition(nsecs_t refreshStartTime) { } void BufferStateLayer::setAutoRefresh(bool autoRefresh) { if (!mAutoRefresh.exchange(autoRefresh)) { mFlinger->onLayerUpdate(); } mDrawingState.autoRefresh = autoRefresh; } bool BufferStateLayer::latchSidebandStream(bool& recomputeVisibleRegions) { Loading services/surfaceflinger/Layer.h +2 −0 Original line number Diff line number Diff line Loading @@ -280,6 +280,8 @@ public: sp<IBinder> releaseBufferEndpoint; gui::DropInputMode dropInputMode; bool autoRefresh = false; }; /* Loading Loading
services/surfaceflinger/BufferLayer.h +1 −2 Original line number Diff line number Diff line Loading @@ -171,7 +171,7 @@ protected: // the mStateLock. ui::Transform::RotationFlags mTransformHint = ui::Transform::ROT_0; bool getAutoRefresh() const { return mAutoRefresh; } bool getAutoRefresh() const { return mDrawingState.autoRefresh; } bool getSidebandStreamChanged() const { return mSidebandStreamChanged; } // Returns true if the next buffer should be presented at the expected present time Loading @@ -182,7 +182,6 @@ protected: // specific logic virtual bool isBufferDue(nsecs_t /*expectedPresentTime*/) const = 0; std::atomic<bool> mAutoRefresh{false}; std::atomic<bool> mSidebandStreamChanged{false}; private: Loading
services/surfaceflinger/BufferQueueLayer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t bool autoRefresh; status_t updateResult = mConsumer->updateTexImage(&r, expectedPresentTime, &autoRefresh, &queuedBuffer, maxFrameNumberToAcquire); mAutoRefresh = autoRefresh; mDrawingState.autoRefresh = autoRefresh; if (updateResult == BufferQueue::PRESENT_LATER) { // Producer doesn't want buffer to be displayed yet. Signal a // layer update so we check again at the next opportunity. Loading Loading @@ -300,7 +300,7 @@ status_t BufferQueueLayer::updateTexImage(bool& recomputeVisibleRegions, nsecs_t // Decrement the queued-frames count. Signal another event if we // have more frames pending. if ((queuedBuffer && more_frames_pending) || mAutoRefresh) { if ((queuedBuffer && more_frames_pending) || mDrawingState.autoRefresh) { mFlinger->onLayerUpdate(); } Loading
services/surfaceflinger/BufferStateLayer.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -667,9 +667,7 @@ bool BufferStateLayer::onPreComposition(nsecs_t refreshStartTime) { } void BufferStateLayer::setAutoRefresh(bool autoRefresh) { if (!mAutoRefresh.exchange(autoRefresh)) { mFlinger->onLayerUpdate(); } mDrawingState.autoRefresh = autoRefresh; } bool BufferStateLayer::latchSidebandStream(bool& recomputeVisibleRegions) { Loading
services/surfaceflinger/Layer.h +2 −0 Original line number Diff line number Diff line Loading @@ -280,6 +280,8 @@ public: sp<IBinder> releaseBufferEndpoint; gui::DropInputMode dropInputMode; bool autoRefresh = false; }; /* Loading