Mir

mir should not composite/display buffers when an android driver calls ANativeWindow::cancelBuffer

Bug #1359406 reported by Alberto Aguirre
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Fix Released
High
Alberto Aguirre
0.7
Fix Released
High
Alberto Aguirre
mir (Ubuntu)
Fix Released
High
Unassigned

Bug Description

mir should not composite/display buffers submitted via the android platform ANativeWindow::cancelBuffer.

Some android drivers (like the mali driver in nexus10) will call ANativeWindow::cancelBuffer in the client side at the beginning so a blank frame gets posted.

Related branches

Changed in mir:
status: Triaged → In Progress
milestone: none → 0.7.0
Changed in mir:
importance: Critical → High
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

This is possibly the root cause of the blank frame issue worked around by https://bazaar.launchpad.net/~unity-system-compositor-team/unity-system-compositor/trunk/view/head:/src/surface_coordinator.cpp#L58 .

TODO: check if we can remove that workaround if this bug is fixed.

Revision history for this message
Alberto Aguirre (albaguirre) wrote :

@Alexandros,

Yes this is the root cause. We can remove that workaround once the fix for this bug lands on trunk.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed to lp:mir/0.7 at revision 1877, scheduled for release in Mir 0.7.0

Changed in mir:
milestone: 0.7.0 → 0.8.0
Changed in mir (Ubuntu):
importance: Undecided → High
status: New → Fix Committed
status: Fix Committed → Triaged
Changed in mir:
milestone: 0.8.0 → 0.7.0
Changed in mir:
milestone: 0.7.0 → 0.8.0
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.2 KiB)

This bug was fixed in the package mir - 0.7.0+14.10.20140829-0ubuntu1

---------------
mir (0.7.0+14.10.20140829-0ubuntu1) utopic; urgency=medium

  [ Daniel van Vugt ]
  * New upstream release 0.7.0 (https://launchpad.net/mir/+milestone/0.7.0)
    - Enhancements:
      . Test suite: Reworked mechanism to override Mir client functions
      . Demo shell: Detect custom rendering (decorations) to make it
        compatible with overlay optimizations
      . Make sure to preserve fd resources until the end of the sending
        of the message
      . Add test cases and script for tracking changes to the new ABIs:
        libmircommon, libmirplatform
      . Symbols file for libmirplatform
      . Symbols file for libmircommon
      . Symbols file for libmirserver
      . Various improvements to the SessionMediator test
      . Various build related improvements
      . Print testcase output during package build
      . Abort test when InProcessServer startup fails
      . Link the integration and unit tests against the server objects
      . Add a document detailing the useful tests to run and the useful
        logs to collect when troubleshooting a new android chipset
      . Enable motion event resampling and prediction for a more responsive
        touch experience.
    - ABI summary: Servers need rebuilding, but clients do not
      . Mirclient ABI unchanged at 8
      . Mircommon ABI bumped to 1
      . Mirplatform ABI bumped to 2
      . Mirserver ABI bumped to 25
    - API changes
      . Deleted function - frontend::Shell::create_surface_for(). If you have
        the std::shared_ptr<frontend::Session> session, you can just do
        session->create_surface(params) instead to get a SurfaceId
    - Bug fixes:
      . Ensure we process lifecycle events before the nested server is torn
        down (LP: #1353465)
      . Fix race in InputTestingServerConfiguration (LP: #1354446)
      . Fix fd leaks in prompt session frontend code and tests (LP: #1353461)
      . Detect the additional things the demo shell draws on the renderable
        list and avoid calling the optimized post function if they are being
        drawn (LP: #1348330)
      . Client: Fix SIGTERM dispatch in our default lifecycle event handler
        (LP: #1353867)
      . DemoRenderer: Don't try to create a texture of width zero.
        (LP: #1358210)
      . Fix CI failures (LP: #1358698)
      . Fix build failure: "variable ‘rc’ set but not used" which happens in
        release mode when NDEBUG is set (LP: #1358625)
      . Only enumerate exposed input surfaces to avoid delivering events to
        occluded surfaces (LP: #1359264)
      . Android: do not post driver cancelled buffers (LP: #1359406)
      . Client: Ensure our platform library stays loaded for as long as it is
        needed by other objects (LP: #1358191)
      . Examples: Register the DemoCompositor with the Scene to properly
        process visibility events (LP: #1359487)
      . Mir_demo_client_basic: Don't assert on user errors like failing to
        connect to a Mir server (LP: #1331958)
      . Tests: Explicitly depend on GMock target to avoid build races
        (LP: #1362646)

  [ Ubuntu dai...

Read more...

Changed in mir (Ubuntu):
status: Triaged → Fix Released
Changed in mir:
milestone: 0.8.0 → none
status: Fix Committed → Fix Released
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.