[OMAP GPU] HWC expects FB's post to be called from eglSwapBuffer

Bug #1613368 reported by Ratchanan Srirattanamet
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Won't Fix
Undecided
Unassigned
mir-android-platform
New
Undecided
Unassigned

Bug Description

I'm porting Ubuntu touch to Samsung Galaxy Tab 2 7.0, which use OMAP GPU. I'm debugging an issue that HWC's set function always return -EFAULT. As I look at HWC's code (at https://github.com/CyanogenMod/android_hardware_ti_omap4/blob/cm-13.0/hwc/hwc.c#L2016) and at SurfaceFlinger's code, it looks like this HWC expects that a call to eglSwapBuffers will eventually call FB HAL's post function, which means that FB's post must be called during HWC's set. Currently, Mir calls FB's post after HWC's set returns.

I have a hack that makes ServerRenderWindow call a callback in HwcFbDevice when ServerRenderWindow's driver_returns_buffer is called. This is intended to show what have to be done, but probably not the right way to do it. With this hack, HWC's set completes successfully, but then HwcFbDevice's commit stalls waiting for vsync forever (which is another bug). The hack is available at lp:~peat-new/mir/hack-eglswapbuffer-call-fbpost

Tags: android
description: updated
tags: added: android
Changed in mir:
assignee: nobody → Ratchanan Srirattanamet (peat-new)
milestone: none → 0.25.0
status: New → In Progress
Revision history for this message
Ratchanan Srirattanamet (peat-new) wrote :

@vanvugt please note that I file this bug to request a comment about how this should be done. As I have not much knowledge about how Mir was designed, I want to know if the approach I've chosen is the right one.

Changed in mir:
assignee: Ratchanan Srirattanamet (peat-new) → nobody
status: In Progress → New
milestone: 0.25.0 → none
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The Android platform was deleted from lp:mir at revision 4155.

Changed in mir:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.