[3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)
This is a poor's man precursor to the h/w composer HAL.
Basically we detect when a window is full screen and in
that case we bypass surfaceflinger's composition step, which
yields to much improved performance.
Change-Id: Ie03796ae81a1c951949b771c9323044b980cb347
diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index 28a512e..818774d 100644
--- a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -339,6 +339,12 @@
//glClear(GL_COLOR_BUFFER_BIT);
}
+status_t DisplayHardware::postBypassBuffer(const native_handle_t* handle) const
+{
+ framebuffer_device_t *fbDev = (framebuffer_device_t *)mNativeWindow->getDevice();
+ return fbDev->post(fbDev, handle);
+}
+
uint32_t DisplayHardware::getFlags() const
{
return mFlags;