summaryrefslogtreecommitdiffstats
path: root/libgralloc/framebuffer.cpp
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2013-02-12 10:07:47 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2013-02-12 10:07:47 -0800
commit87293b70bef9a5010569efef3bb9b603ae0d7f5e (patch)
tree5d31e02e02d8e14c9b6d6ef88de87b51e16d0e8a /libgralloc/framebuffer.cpp
parent7f29ba13b3147220145fbb82cf8ff4927f6587bf (diff)
parent4333330e1181d35e01bb2b443dcb2e8003c8c073 (diff)
downloadandroid_hardware_qcom_display-87293b70bef9a5010569efef3bb9b603ae0d7f5e.tar.gz
android_hardware_qcom_display-87293b70bef9a5010569efef3bb9b603ae0d7f5e.tar.bz2
android_hardware_qcom_display-87293b70bef9a5010569efef3bb9b603ae0d7f5e.zip
Merge "hwc: Call MSMFB_DISPLAY_COMMIT even if FB handle is null."
Diffstat (limited to 'libgralloc/framebuffer.cpp')
-rw-r--r--libgralloc/framebuffer.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/libgralloc/framebuffer.cpp b/libgralloc/framebuffer.cpp
index 45a27493a..ab368308d 100644
--- a/libgralloc/framebuffer.cpp
+++ b/libgralloc/framebuffer.cpp
@@ -86,24 +86,15 @@ static int fb_setSwapInterval(struct framebuffer_device_t* dev,
static int fb_post(struct framebuffer_device_t* dev, buffer_handle_t buffer)
{
-
- fb_context_t* ctx = (fb_context_t*) dev;
-
- private_handle_t *hnd = static_cast<private_handle_t*>
- (const_cast<native_handle_t*>(buffer));
private_module_t* m =
reinterpret_cast<private_module_t*>(dev->common.module);
-
- if (hnd) {
- m->info.activate = FB_ACTIVATE_VBL | FB_ACTIVATE_FORCE;
- m->info.yoffset = hnd->offset / m->finfo.line_length;
- m->commit.var = m->info;
- m->commit.flags |= MDP_DISPLAY_COMMIT_OVERLAY;
- if (ioctl(m->framebuffer->fd, MSMFB_DISPLAY_COMMIT, &m->commit) == -1) {
- ALOGE("%s: MSMFB_DISPLAY_COMMIT ioctl failed, err: %s", __FUNCTION__,
- strerror(errno));
- return -errno;
- }
+ struct mdp_display_commit prim_commit;
+ memset(&prim_commit, 0, sizeof(struct mdp_display_commit));
+ prim_commit.flags = MDP_DISPLAY_COMMIT_OVERLAY;
+ if (ioctl(m->framebuffer->fd, MSMFB_DISPLAY_COMMIT, &prim_commit) == -1) {
+ ALOGE("%s: MSMFB_DISPLAY_COMMIT for primary failed, str: %s",
+ __FUNCTION__, strerror(errno));
+ return -errno;
}
return 0;
}