Add HWC vsync hook. Currently unused.
Change-Id: I849d56f375813a044c5e2d0b25f791476a60fa01
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.h b/services/surfaceflinger/DisplayHardware/HWComposer.h
index aa8ebe1..81e7359 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.h
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.h
@@ -72,12 +72,24 @@
const Vector< sp<LayerBase> >& visibleLayersSortedByZ) const;
private:
+
+ struct callbacks : public hwc_procs_t {
+ // these are here to facilitate the transition when adding
+ // new callbacks (an implementation can check for NULL before
+ // calling a new callback).
+ void (*zero[4])(void);
+ };
+
struct cb_context {
- hwc_procs_t procs;
+ callbacks procs;
HWComposer* hwc;
};
+
static void hook_invalidate(struct hwc_procs* procs);
+ static void hook_vsync(struct hwc_procs* procs, int dpy, int64_t timestamp);
+
void invalidate();
+ void vsync(int dpy, int64_t timestamp);
sp<SurfaceFlinger> mFlinger;
hw_module_t const* mModule;