diff options
author | David Turner <digit@android.com> | 2014-07-04 13:34:54 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-07-04 13:34:54 +0000 |
commit | 5933cb296d64a824b58eec7c3400cf6d2729adea (patch) | |
tree | 0a6a547cbda14f48237045bf7a552b56981c9082 /modules | |
parent | c9455d96b9ac82727d0c32d660612f46ea5607b8 (diff) | |
parent | 611a3b71431293a123a11af99ff731ab30067632 (diff) | |
download | hardware_libhardware-5933cb296d64a824b58eec7c3400cf6d2729adea.zip hardware_libhardware-5933cb296d64a824b58eec7c3400cf6d2729adea.tar.gz hardware_libhardware-5933cb296d64a824b58eec7c3400cf6d2729adea.tar.bz2 |
am 611a3b71: am 3e618a6a: Merge "gralloc: let target configure page flipping ioctl"
* commit '611a3b71431293a123a11af99ff731ab30067632':
gralloc: let target configure page flipping ioctl
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gralloc/Android.mk | 3 | ||||
-rw-r--r-- | modules/gralloc/framebuffer.cpp | 14 |
2 files changed, 16 insertions, 1 deletions
diff --git a/modules/gralloc/Android.mk b/modules/gralloc/Android.mk index a4ffd20..092e851 100644 --- a/modules/gralloc/Android.mk +++ b/modules/gralloc/Android.mk @@ -29,5 +29,8 @@ LOCAL_SRC_FILES := \ LOCAL_MODULE := gralloc.default LOCAL_CFLAGS:= -DLOG_TAG=\"gralloc\" -Wno-missing-field-initializers +ifeq ($(TARGET_USE_PAN_DISPLAY),true) +LOCAL_CFLAGS += -DUSE_PAN_DISPLAY=1 +endif include $(BUILD_SHARED_LIBRARY) diff --git a/modules/gralloc/framebuffer.cpp b/modules/gralloc/framebuffer.cpp index 9d8513a..486e27a 100644 --- a/modules/gralloc/framebuffer.cpp +++ b/modules/gralloc/framebuffer.cpp @@ -42,6 +42,13 @@ /*****************************************************************************/ +// Set TARGET_USE_PAN_DISPLAY to true at compile time if the +// board uses FBIOPAN_DISPLAY to setup page flipping, otherwise +// default ioctl to do page-flipping is FBIOPUT_VSCREENINFO. +#ifndef USE_PAN_DISPLAY +#define USE_PAN_DISPLAY 0 +#endif + // numbers of buffers for page flipping #define NUM_BUFFERS 2 @@ -178,10 +185,15 @@ int mapFrameBufferLocked(struct private_module_t* module) uint32_t flags = PAGE_FLIP; +#if USE_PAN_DISPLAY + if (ioctl(fd, FBIOPAN_DISPLAY, &info) == -1) { + ALOGW("FBIOPAN_DISPLAY failed, page flipping not supported"); +#else if (ioctl(fd, FBIOPUT_VSCREENINFO, &info) == -1) { + ALOGW("FBIOPUT_VSCREENINFO failed, page flipping not supported"); +#endif info.yres_virtual = info.yres; flags &= ~PAGE_FLIP; - ALOGW("FBIOPUT_VSCREENINFO failed, page flipping not supported"); } if (info.yres_virtual < info.yres * 2) { |