summaryrefslogtreecommitdiffstats
path: root/modules/hwcomposer
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2012-07-25 15:11:41 -0700
committerJesse Hall <jessehall@google.com>2012-07-30 16:52:21 -0700
commit65bed1f947ad9eb992c02a3563bd64ef05c4e268 (patch)
tree2af87ed51899469ff10e3b5e5f358c0acf69d160 /modules/hwcomposer
parentd294b9ffa1569dfc95cdc28a5955caea60950a20 (diff)
downloadhardware_libhardware-65bed1f947ad9eb992c02a3563bd64ef05c4e268.zip
hardware_libhardware-65bed1f947ad9eb992c02a3563bd64ef05c4e268.tar.gz
hardware_libhardware-65bed1f947ad9eb992c02a3563bd64ef05c4e268.tar.bz2
Add multi-display and flip fence to HWC
Change-Id: I31b4fc293220bc51169971df93347dd35fdc30ef
Diffstat (limited to 'modules/hwcomposer')
-rw-r--r--modules/hwcomposer/hwcomposer.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/modules/hwcomposer/hwcomposer.cpp b/modules/hwcomposer/hwcomposer.cpp
index 0e49e4c..f0a5512 100644
--- a/modules/hwcomposer/hwcomposer.cpp
+++ b/modules/hwcomposer/hwcomposer.cpp
@@ -67,26 +67,26 @@ static void dump_layer(hwc_layer_1_t const* l) {
l->displayFrame.bottom);
}
-static int hwc_prepare(hwc_composer_device_1_t *dev, hwc_layer_list_1_t* list) {
- if (list && (list->flags & HWC_GEOMETRY_CHANGED)) {
- for (size_t i=0 ; i<list->numHwLayers ; i++) {
+static int hwc_prepare(hwc_composer_device_1_t *dev,
+ size_t numDisplays, hwc_display_contents_1_t** displays) {
+ if (displays && (displays[0]->flags & HWC_GEOMETRY_CHANGED)) {
+ for (size_t i=0 ; i<displays[0]->numHwLayers ; i++) {
//dump_layer(&list->hwLayers[i]);
- list->hwLayers[i].compositionType = HWC_FRAMEBUFFER;
+ displays[0]->hwLayers[i].compositionType = HWC_FRAMEBUFFER;
}
}
return 0;
}
static int hwc_set(hwc_composer_device_1_t *dev,
- hwc_display_t dpy,
- hwc_surface_t sur,
- hwc_layer_list_1_t* list)
+ size_t numDisplays, hwc_display_contents_1_t** displays)
{
//for (size_t i=0 ; i<list->numHwLayers ; i++) {
// dump_layer(&list->hwLayers[i]);
//}
- EGLBoolean sucess = eglSwapBuffers((EGLDisplay)dpy, (EGLSurface)sur);
+ EGLBoolean sucess = eglSwapBuffers((EGLDisplay)displays[0]->dpy,
+ (EGLSurface)displays[0]->sur);
if (!sucess) {
return HWC_EGL_ERROR;
}