display: Enable vsync
* Use the vsync uevents from the kernel to start
surfaceflinger composition.
* This patch also does some code cleanup
- Move copybit specific functions to copybit files.
- Cleanup verbose logging.
Change-Id: I36936e4b0a082cfb0347d8ee7d2bc936e01808e6
diff --git a/libhwcomposer/hwc_copybit.h b/libhwcomposer/hwc_copybit.h
index adf088b..602898e 100644
--- a/libhwcomposer/hwc_copybit.h
+++ b/libhwcomposer/hwc_copybit.h
@@ -31,6 +31,11 @@
namespace qhwc {
//Feature for using Copybit to display RGB layers.
+typedef EGLClientBuffer (*functype_eglGetRenderBufferANDROID) (
+ EGLDisplay dpy,
+ EGLSurface draw);
+typedef EGLSurface (*functype_eglGetCurrentSurface)(EGLint readdraw);
+
class CopyBit {
public:
//Sets up members and prepares copybit if conditions are met
@@ -75,6 +80,20 @@
};
+class CopybitEngine {
+public:
+ ~CopybitEngine();
+ // API to get copybit engine(non static)
+ struct copybit_device_t *getEngine();
+ // API to get singleton
+ static CopybitEngine* getInstance();
+private:
+ CopybitEngine();
+ struct copybit_device_t *sEngine;
+ static CopybitEngine* sInstance; // singleton
+};
+
+
inline void CopyBit::setStats(int yuvCount, int yuvLayerIndex,
bool isYuvLayerSkip) {
sYuvCount = yuvCount;