am a2de8e31: Merge change Ie05f07df into eclair
Merge commit 'a2de8e31c2693d009db1f9386406758874dd1d40' into eclair-mr2 * commit 'a2de8e31c2693d009db1f9386406758874dd1d40': fix [2170319] gmail bulk operation checkbox latency on passion
This commit is contained in:
@@ -289,6 +289,7 @@ public:
|
|||||||
void setStatus(status_t status);
|
void setStatus(status_t status);
|
||||||
status_t reallocate();
|
status_t reallocate();
|
||||||
status_t assertReallocate(int buffer);
|
status_t assertReallocate(int buffer);
|
||||||
|
int32_t getQueuedCount() const;
|
||||||
|
|
||||||
Region getDirtyRegion(int buffer) const;
|
Region getDirtyRegion(int buffer) const;
|
||||||
|
|
||||||
|
|||||||
@@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2008 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef ANDROID_SURFACE_FLINGER_SYNCHRO_H
|
|
||||||
#define ANDROID_SURFACE_FLINGER_SYNCHRO_H
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <utils/Errors.h>
|
|
||||||
#include <ui/ISurfaceComposer.h>
|
|
||||||
|
|
||||||
namespace android {
|
|
||||||
|
|
||||||
class SurfaceFlinger;
|
|
||||||
|
|
||||||
class SurfaceFlingerSynchro
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// client constructor
|
|
||||||
SurfaceFlingerSynchro(const sp<ISurfaceComposer>& flinger);
|
|
||||||
~SurfaceFlingerSynchro();
|
|
||||||
|
|
||||||
// signal surfaceflinger for some work
|
|
||||||
status_t signal();
|
|
||||||
|
|
||||||
private:
|
|
||||||
friend class SurfaceFlinger;
|
|
||||||
sp<ISurfaceComposer> mSurfaceComposer;
|
|
||||||
};
|
|
||||||
|
|
||||||
}; // namespace android
|
|
||||||
|
|
||||||
#endif // ANDROID_SURFACE_FLINGER_SYNCHRO_H
|
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ private:
|
|||||||
SharedClient* mControl;
|
SharedClient* mControl;
|
||||||
sp<IMemoryHeap> mControlMemory;
|
sp<IMemoryHeap> mControlMemory;
|
||||||
sp<ISurfaceFlingerClient> mClient;
|
sp<ISurfaceFlingerClient> mClient;
|
||||||
SurfaceFlingerSynchro* mSignalServer;
|
sp<ISurfaceComposer> mSignalServer;
|
||||||
};
|
};
|
||||||
|
|
||||||
}; // namespace android
|
}; // namespace android
|
||||||
|
|||||||
@@ -460,8 +460,10 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME: signal an event if we have more buffers waiting
|
if (lcblk->getQueuedCount()) {
|
||||||
// mFlinger->signalEvent();
|
// signal an event if we have more buffers waiting
|
||||||
|
mFlinger->signalEvent();
|
||||||
|
}
|
||||||
|
|
||||||
if (!mPostedDirtyRegion.isEmpty()) {
|
if (!mPostedDirtyRegion.isEmpty()) {
|
||||||
reloadTexture( mPostedDirtyRegion );
|
reloadTexture( mPostedDirtyRegion );
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ LOCAL_SRC_FILES:= \
|
|||||||
Region.cpp \
|
Region.cpp \
|
||||||
SharedBufferStack.cpp \
|
SharedBufferStack.cpp \
|
||||||
Surface.cpp \
|
Surface.cpp \
|
||||||
SurfaceComposerClient.cpp \
|
SurfaceComposerClient.cpp
|
||||||
SurfaceFlingerSynchro.cpp
|
|
||||||
|
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
libcutils \
|
libcutils \
|
||||||
|
|||||||
@@ -394,6 +394,12 @@ status_t SharedBufferServer::reallocate()
|
|||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t SharedBufferServer::getQueuedCount() const
|
||||||
|
{
|
||||||
|
SharedBufferStack& stack( *mSharedStack );
|
||||||
|
return stack.queued;
|
||||||
|
}
|
||||||
|
|
||||||
status_t SharedBufferServer::assertReallocate(int buffer)
|
status_t SharedBufferServer::assertReallocate(int buffer)
|
||||||
{
|
{
|
||||||
ReallocateCondition condition(this, buffer);
|
ReallocateCondition condition(this, buffer);
|
||||||
|
|||||||
@@ -42,7 +42,6 @@
|
|||||||
|
|
||||||
#include <private/ui/LayerState.h>
|
#include <private/ui/LayerState.h>
|
||||||
#include <private/ui/SharedBufferStack.h>
|
#include <private/ui/SharedBufferStack.h>
|
||||||
#include <private/ui/SurfaceFlingerSynchro.h>
|
|
||||||
|
|
||||||
#define VERBOSE(...) ((void)0)
|
#define VERBOSE(...) ((void)0)
|
||||||
//#define VERBOSE LOGD
|
//#define VERBOSE LOGD
|
||||||
@@ -155,7 +154,6 @@ void SurfaceComposerClient::_init(
|
|||||||
{
|
{
|
||||||
VERBOSE("Creating client %p, conn %p", this, conn.get());
|
VERBOSE("Creating client %p, conn %p", this, conn.get());
|
||||||
|
|
||||||
mSignalServer = 0;
|
|
||||||
mPrebuiltLayerState = 0;
|
mPrebuiltLayerState = 0;
|
||||||
mTransactionOpen = 0;
|
mTransactionOpen = 0;
|
||||||
mStatus = NO_ERROR;
|
mStatus = NO_ERROR;
|
||||||
@@ -168,7 +166,7 @@ void SurfaceComposerClient::_init(
|
|||||||
}
|
}
|
||||||
|
|
||||||
mControlMemory = mClient->getControlBlock();
|
mControlMemory = mClient->getControlBlock();
|
||||||
mSignalServer = new SurfaceFlingerSynchro(sm);
|
mSignalServer = sm;
|
||||||
mControl = static_cast<SharedClient *>(mControlMemory->getBase());
|
mControl = static_cast<SharedClient *>(mControlMemory->getBase());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -225,7 +223,6 @@ void SurfaceComposerClient::dispose()
|
|||||||
Mutex::Autolock _lg(gLock);
|
Mutex::Autolock _lg(gLock);
|
||||||
Mutex::Autolock _lm(mLock);
|
Mutex::Autolock _lm(mLock);
|
||||||
|
|
||||||
delete mSignalServer;
|
|
||||||
mSignalServer = 0;
|
mSignalServer = 0;
|
||||||
|
|
||||||
if (mClient != 0) {
|
if (mClient != 0) {
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2008 The Android Open Source Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#include <private/ui/SurfaceFlingerSynchro.h>
|
|
||||||
|
|
||||||
namespace android {
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
SurfaceFlingerSynchro::SurfaceFlingerSynchro(const sp<ISurfaceComposer>& flinger)
|
|
||||||
: mSurfaceComposer(flinger)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
SurfaceFlingerSynchro::~SurfaceFlingerSynchro()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
status_t SurfaceFlingerSynchro::signal()
|
|
||||||
{
|
|
||||||
mSurfaceComposer->signal();
|
|
||||||
return NO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
}; // namespace android
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user