am 3e618a6a: Merge "gralloc: let target configure page flipping ioctl"

* commit '3e618a6aa10c783d1536f20edfc3347939cfa18e':
  gralloc: let target configure page flipping ioctl
This commit is contained in:
David Turner 2014-07-04 13:30:22 +00:00 committed by Android Git Automerger
commit 611a3b7143
2 changed files with 16 additions and 1 deletions

View file

@ -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)

View file

@ -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) {