am 39a5ba90: Merge change 25629 into eclair
Merge commit '39a5ba90a4939cfdd23ecd10f73a77a75679b13e' into eclair-plus-aosp * commit '39a5ba90a4939cfdd23ecd10f73a77a75679b13e': Android side of the fix for [2121211] Sholes has stutter during animations
This commit is contained in:
@@ -54,6 +54,7 @@ public:
|
|||||||
|
|
||||||
bool isUpdateOnDemand() const { return mUpdateOnDemand; }
|
bool isUpdateOnDemand() const { return mUpdateOnDemand; }
|
||||||
status_t setUpdateRectangle(const Rect& updateRect);
|
status_t setUpdateRectangle(const Rect& updateRect);
|
||||||
|
status_t compositionComplete();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class LightRefBase<FramebufferNativeWindow>;
|
friend class LightRefBase<FramebufferNativeWindow>;
|
||||||
|
|||||||
@@ -297,9 +297,9 @@ uint32_t DisplayHardware::getPageFlipCount() const {
|
|||||||
return mPageFlipCount;
|
return mPageFlipCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
status_t DisplayHardware::compositionComplete() const {
|
||||||
* "Flip" the front and back buffers.
|
return mNativeWindow->compositionComplete();
|
||||||
*/
|
}
|
||||||
|
|
||||||
void DisplayHardware::flip(const Region& dirty) const
|
void DisplayHardware::flip(const Region& dirty) const
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ public:
|
|||||||
EGLDisplay getEGLDisplay() const { return mDisplay; }
|
EGLDisplay getEGLDisplay() const { return mDisplay; }
|
||||||
overlay_control_device_t* getOverlayEngine() const { return mOverlayEngine; }
|
overlay_control_device_t* getOverlayEngine() const { return mOverlayEngine; }
|
||||||
|
|
||||||
|
status_t compositionComplete() const;
|
||||||
|
|
||||||
Rect bounds() const {
|
Rect bounds() const {
|
||||||
return Rect(mWidth, mHeight);
|
return Rect(mWidth, mHeight);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -495,6 +495,9 @@ bool SurfaceFlinger::threadLoop()
|
|||||||
// repaint the framebuffer (if needed)
|
// repaint the framebuffer (if needed)
|
||||||
handleRepaint();
|
handleRepaint();
|
||||||
|
|
||||||
|
// inform the h/w that we're done compositing
|
||||||
|
hw.compositionComplete();
|
||||||
|
|
||||||
// release the clients before we flip ('cause flip might block)
|
// release the clients before we flip ('cause flip might block)
|
||||||
unlockClients();
|
unlockClients();
|
||||||
|
|
||||||
|
|||||||
@@ -158,6 +158,14 @@ status_t FramebufferNativeWindow::setUpdateRectangle(const Rect& r)
|
|||||||
return fbDev->setUpdateRect(fbDev, r.left, r.top, r.width(), r.height());
|
return fbDev->setUpdateRect(fbDev, r.left, r.top, r.width(), r.height());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
status_t FramebufferNativeWindow::compositionComplete()
|
||||||
|
{
|
||||||
|
if (fbDev->compositionComplete) {
|
||||||
|
return fbDev->compositionComplete(fbDev);
|
||||||
|
}
|
||||||
|
return INVALID_OPERATION;
|
||||||
|
}
|
||||||
|
|
||||||
int FramebufferNativeWindow::setSwapInterval(
|
int FramebufferNativeWindow::setSwapInterval(
|
||||||
android_native_window_t* window, int interval)
|
android_native_window_t* window, int interval)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user