Loading include/private/surfaceflinger/SharedBufferStack.h +1 −8 Original line number Diff line number Diff line Loading @@ -105,7 +105,7 @@ public: volatile int32_t head; // server's current front buffer volatile int32_t available; // number of dequeue-able buffers volatile int32_t queued; // number of buffers waiting for post volatile int32_t inUse; // buffer currently in use by SF volatile int32_t reserved1; volatile status_t status; // surface's status code // not part of the conditions Loading Loading @@ -275,7 +275,6 @@ public: int32_t identity); ssize_t retireAndLock(); status_t unlock(int buffer); void setStatus(status_t status); status_t reallocateAll(); status_t reallocateAllExcept(int buffer); Loading Loading @@ -356,12 +355,6 @@ private: inline const char* name() const { return "BuffersAvailableCondition"; } }; struct UnlockUpdate : public UpdateBase { const int lockedBuffer; inline UnlockUpdate(SharedBufferBase* sbb, int lockedBuffer); inline ssize_t operator()(); }; struct RetireUpdate : public UpdateBase { const int numBuffers; inline RetireUpdate(SharedBufferBase* sbb, int numBuffers); Loading libs/surfaceflinger_client/SharedBufferStack.cpp +2 −36 Original line number Diff line number Diff line Loading @@ -58,7 +58,6 @@ SharedBufferStack::SharedBufferStack() void SharedBufferStack::init(int32_t i) { inUse = -2; status = NO_ERROR; identity = i; } Loading Loading @@ -199,9 +198,9 @@ String8 SharedBufferBase::dump(char const* prefix) const SharedBufferStack& stack( *mSharedStack ); snprintf(buffer, SIZE, "%s[ head=%2d, available=%2d, queued=%2d ] " "reallocMask=%08x, inUse=%2d, identity=%d, status=%d", "reallocMask=%08x, identity=%d, status=%d", prefix, stack.head, stack.available, stack.queued, stack.reallocMask, stack.inUse, stack.identity, stack.status); stack.reallocMask, stack.identity, stack.status); result.append(buffer); result.append("\n"); return result; Loading Loading @@ -302,22 +301,6 @@ ssize_t SharedBufferClient::CancelUpdate::operator()() { return NO_ERROR; } SharedBufferServer::UnlockUpdate::UnlockUpdate( SharedBufferBase* sbb, int lockedBuffer) : UpdateBase(sbb), lockedBuffer(lockedBuffer) { } ssize_t SharedBufferServer::UnlockUpdate::operator()() { if (stack.inUse != lockedBuffer) { LOGE("unlocking %d, but currently locked buffer is %d " "(identity=%d, token=%d)", lockedBuffer, stack.inUse, stack.identity, stack.token); return BAD_VALUE; } android_atomic_write(-1, &stack.inUse); return NO_ERROR; } SharedBufferServer::RetireUpdate::RetireUpdate( SharedBufferBase* sbb, int numBuffers) : UpdateBase(sbb), numBuffers(numBuffers) { Loading @@ -327,9 +310,6 @@ ssize_t SharedBufferServer::RetireUpdate::operator()() { if (uint32_t(head) >= SharedBufferStack::NUM_BUFFER_MAX) return BAD_VALUE; // Preventively lock the current buffer before updating queued. android_atomic_write(stack.headBuf, &stack.inUse); // Decrement the number of queued buffers int32_t queued; do { Loading @@ -345,7 +325,6 @@ ssize_t SharedBufferServer::RetireUpdate::operator()() { head = (head + 1) % numBuffers; const int8_t headBuf = stack.index[head]; stack.headBuf = headBuf; android_atomic_write(headBuf, &stack.inUse); // head is only modified here, so we don't need to use cmpxchg android_atomic_write(head, &stack.head); Loading Loading @@ -546,13 +525,6 @@ ssize_t SharedBufferServer::retireAndLock() return buf; } status_t SharedBufferServer::unlock(int buf) { UnlockUpdate update(this, buf); status_t err = updateCondition( update ); return err; } void SharedBufferServer::setStatus(status_t status) { if (status < NO_ERROR) { Loading Loading @@ -694,12 +666,6 @@ status_t SharedBufferServer::shrink(int newNumBuffers) stack.head = 0; stack.headBuf = 0; // If one of the buffers is in use it must be the head buffer, which we are // renaming to buffer 0. if (stack.inUse > 0) { stack.inUse = 0; } // Free the buffers from the end of the list that are no longer needed. for (int i = newNumBuffers; i < mNumBuffers; i++) { mBufferList.remove(i); Loading services/surfaceflinger/Layer.cpp +0 −16 Original line number Diff line number Diff line Loading @@ -691,22 +691,6 @@ void Layer::unlockPageFlip( } } void Layer::finishPageFlip() { ClientRef::Access sharedClient(mUserClientRef); SharedBufferServer* lcblk(sharedClient.get()); if (lcblk) { int buf = mBufferManager.getActiveBufferIndex(); if (buf >= 0) { status_t err = lcblk->unlock( buf ); LOGE_IF(err!=NO_ERROR, "layer %p, buffer=%d wasn't locked!", this, buf); } } } void Layer::dump(String8& result, char* buffer, size_t SIZE) const { LayerBaseClient::dump(result, buffer, SIZE); Loading services/surfaceflinger/Layer.h +0 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ public: virtual uint32_t doTransaction(uint32_t transactionFlags); virtual void lockPageFlip(bool& recomputeVisibleRegions); virtual void unlockPageFlip(const Transform& planeTransform, Region& outDirtyRegion); virtual void finishPageFlip(); virtual bool needsBlending() const { return mNeedsBlending; } virtual bool needsDithering() const { return mNeedsDithering; } virtual bool needsFiltering() const; Loading services/surfaceflinger/LayerBase.cpp +0 −4 Original line number Diff line number Diff line Loading @@ -273,10 +273,6 @@ void LayerBase::unlockPageFlip( } } void LayerBase::finishPageFlip() { } void LayerBase::invalidate() { if ((android_atomic_or(1, &mInvalidate)&1) == 0) { Loading Loading
include/private/surfaceflinger/SharedBufferStack.h +1 −8 Original line number Diff line number Diff line Loading @@ -105,7 +105,7 @@ public: volatile int32_t head; // server's current front buffer volatile int32_t available; // number of dequeue-able buffers volatile int32_t queued; // number of buffers waiting for post volatile int32_t inUse; // buffer currently in use by SF volatile int32_t reserved1; volatile status_t status; // surface's status code // not part of the conditions Loading Loading @@ -275,7 +275,6 @@ public: int32_t identity); ssize_t retireAndLock(); status_t unlock(int buffer); void setStatus(status_t status); status_t reallocateAll(); status_t reallocateAllExcept(int buffer); Loading Loading @@ -356,12 +355,6 @@ private: inline const char* name() const { return "BuffersAvailableCondition"; } }; struct UnlockUpdate : public UpdateBase { const int lockedBuffer; inline UnlockUpdate(SharedBufferBase* sbb, int lockedBuffer); inline ssize_t operator()(); }; struct RetireUpdate : public UpdateBase { const int numBuffers; inline RetireUpdate(SharedBufferBase* sbb, int numBuffers); Loading
libs/surfaceflinger_client/SharedBufferStack.cpp +2 −36 Original line number Diff line number Diff line Loading @@ -58,7 +58,6 @@ SharedBufferStack::SharedBufferStack() void SharedBufferStack::init(int32_t i) { inUse = -2; status = NO_ERROR; identity = i; } Loading Loading @@ -199,9 +198,9 @@ String8 SharedBufferBase::dump(char const* prefix) const SharedBufferStack& stack( *mSharedStack ); snprintf(buffer, SIZE, "%s[ head=%2d, available=%2d, queued=%2d ] " "reallocMask=%08x, inUse=%2d, identity=%d, status=%d", "reallocMask=%08x, identity=%d, status=%d", prefix, stack.head, stack.available, stack.queued, stack.reallocMask, stack.inUse, stack.identity, stack.status); stack.reallocMask, stack.identity, stack.status); result.append(buffer); result.append("\n"); return result; Loading Loading @@ -302,22 +301,6 @@ ssize_t SharedBufferClient::CancelUpdate::operator()() { return NO_ERROR; } SharedBufferServer::UnlockUpdate::UnlockUpdate( SharedBufferBase* sbb, int lockedBuffer) : UpdateBase(sbb), lockedBuffer(lockedBuffer) { } ssize_t SharedBufferServer::UnlockUpdate::operator()() { if (stack.inUse != lockedBuffer) { LOGE("unlocking %d, but currently locked buffer is %d " "(identity=%d, token=%d)", lockedBuffer, stack.inUse, stack.identity, stack.token); return BAD_VALUE; } android_atomic_write(-1, &stack.inUse); return NO_ERROR; } SharedBufferServer::RetireUpdate::RetireUpdate( SharedBufferBase* sbb, int numBuffers) : UpdateBase(sbb), numBuffers(numBuffers) { Loading @@ -327,9 +310,6 @@ ssize_t SharedBufferServer::RetireUpdate::operator()() { if (uint32_t(head) >= SharedBufferStack::NUM_BUFFER_MAX) return BAD_VALUE; // Preventively lock the current buffer before updating queued. android_atomic_write(stack.headBuf, &stack.inUse); // Decrement the number of queued buffers int32_t queued; do { Loading @@ -345,7 +325,6 @@ ssize_t SharedBufferServer::RetireUpdate::operator()() { head = (head + 1) % numBuffers; const int8_t headBuf = stack.index[head]; stack.headBuf = headBuf; android_atomic_write(headBuf, &stack.inUse); // head is only modified here, so we don't need to use cmpxchg android_atomic_write(head, &stack.head); Loading Loading @@ -546,13 +525,6 @@ ssize_t SharedBufferServer::retireAndLock() return buf; } status_t SharedBufferServer::unlock(int buf) { UnlockUpdate update(this, buf); status_t err = updateCondition( update ); return err; } void SharedBufferServer::setStatus(status_t status) { if (status < NO_ERROR) { Loading Loading @@ -694,12 +666,6 @@ status_t SharedBufferServer::shrink(int newNumBuffers) stack.head = 0; stack.headBuf = 0; // If one of the buffers is in use it must be the head buffer, which we are // renaming to buffer 0. if (stack.inUse > 0) { stack.inUse = 0; } // Free the buffers from the end of the list that are no longer needed. for (int i = newNumBuffers; i < mNumBuffers; i++) { mBufferList.remove(i); Loading
services/surfaceflinger/Layer.cpp +0 −16 Original line number Diff line number Diff line Loading @@ -691,22 +691,6 @@ void Layer::unlockPageFlip( } } void Layer::finishPageFlip() { ClientRef::Access sharedClient(mUserClientRef); SharedBufferServer* lcblk(sharedClient.get()); if (lcblk) { int buf = mBufferManager.getActiveBufferIndex(); if (buf >= 0) { status_t err = lcblk->unlock( buf ); LOGE_IF(err!=NO_ERROR, "layer %p, buffer=%d wasn't locked!", this, buf); } } } void Layer::dump(String8& result, char* buffer, size_t SIZE) const { LayerBaseClient::dump(result, buffer, SIZE); Loading
services/surfaceflinger/Layer.h +0 −1 Original line number Diff line number Diff line Loading @@ -75,7 +75,6 @@ public: virtual uint32_t doTransaction(uint32_t transactionFlags); virtual void lockPageFlip(bool& recomputeVisibleRegions); virtual void unlockPageFlip(const Transform& planeTransform, Region& outDirtyRegion); virtual void finishPageFlip(); virtual bool needsBlending() const { return mNeedsBlending; } virtual bool needsDithering() const { return mNeedsDithering; } virtual bool needsFiltering() const; Loading
services/surfaceflinger/LayerBase.cpp +0 −4 Original line number Diff line number Diff line Loading @@ -273,10 +273,6 @@ void LayerBase::unlockPageFlip( } } void LayerBase::finishPageFlip() { } void LayerBase::invalidate() { if ((android_atomic_or(1, &mInvalidate)&1) == 0) { Loading