Mir

[regression] demo-shell bypass is not used on fullscreen surfaces if there are windowed surfaces behind

Bug #1378706 reported by Daniel van Vugt on 2014-10-08
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Medium
Daniel van Vugt
mir (Ubuntu)
Medium
Unassigned

Bug Description

[regression] Bypass is not used on fullscreen surfaces if there are windowed surfaces behind.

Test case:
  1. mir_demo_server_shell --compositor-report=log
  2. mir_demo_client_egltriangle -q &
  3. mir_demo_client_egltriangle -f

Expected: Compositor report shows bypass on, and 100%.
Observed: Compositor report shows bypass off.

The problem is #2 - the windows client in the background. If you remove that then bypass is enabled correctly.

Related branches

Daniel van Vugt (vanvugt) wrote :

I vaguely recall we regressed on this intentionally to keep the occlusion testing simple in demo shell. But it's still a regression.

summary: - [regression] Bypass is not used on fullscreen surfaces if there are
- windowed surfaces behind
+ [regression] demo-shell bypass is not used on fullscreen surfaces if
+ there are windowed surfaces behind
Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
status: New → In Progress
Daniel van Vugt (vanvugt) wrote :

The problem is confined to demo shell. It seems the bypass filter is not even getting attempted in DemoCompositor:

    if (!nonrenderlist_elements && <== fails
        display_buffer.post_renderables_if_optimizable(renderable_list))

So we need to remove the "!nonrenderlist_elements &&" part. But do so in a way that doesn't break Android's overlay filter.

Changed in mir:
importance: Undecided → Medium
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.9.0

Changed in mir:
status: In Progress → Fix Committed
Changed in mir (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mir - 0.9.0+15.04.20141125-0ubuntu1

---------------
mir (0.9.0+15.04.20141125-0ubuntu1) vivid; urgency=medium

  [ Alberto Aguirre ]
  * New upstream release 0.9.0 (https://launchpad.net/mir/+milestone/0.9.0)
    - Enhancements:
      . New simpler API to configure and run a mir server.
      . The event loop is now based on GLib's main loop library instead of
        Boost.Asio.
      . For Android platforms, the server now sends buffer fence fds to its
        clients instead of potentially stalling the compositor thread waiting
        for them to be signalled.
      . New client debug interface to translate from surface to screen
        coordinates.
    - ABI summary: Servers need rebuilding, but clients do not;
      . Mirclient ABI unchanged at 8
      . Mircommon ABI bumped to 3
      . Mirplatform ABI bumped to 4
      . Mirserver ABI bumped to 27
    - Bug fixes:
      . Add a debug interface to translate from surface to screen coordinates
        (LP: #1346633)
      . Ensure a buffer requested by a surface is not delivered
        after the surface is deleted (LP: #1376324)
      . Overlays are not displayed onscreen in some positions (LP: #1378326)
      . Server aborts when an exception is thrown from the main thread
        (LP: #1378740)
      . Fix race causing lost alarm notifications (LP: #1381925)
      . Avoid lifecycle notifications racing with connection release
        (LP: #1386646)
      . Improve error checking and reporting for the client library
       (LP: #1390388)
      . Mir demo-shell now detects power button using proper Linux scan codes
       (LP: #1303817)
      . A prompt session with an invalid application pid should be an error
        (LP: #1377968)
      . When XDG_RUNTIME_DIR is defined but pointing to a non-existing
        directory use "/tmp" (LP: #1304873)
      . [regression] demo-shell bypass is not used on fullscreen surfaces if
        there are windowed surfaces behind (LP: #1378706)
      . Mir upgrade through dist-upgrade installs incorrect platform
        (LP: #1378995)
      . Fix Mir progressbar example using internal glibc defines(LP: #239272)
      . Stop the default_lifecycle_event_handler raising SIGHUP while
        disconnecting (LP: #1386185)
      . [regression] Mir fails to build with MIR_ENABLE_TESTS=OFF (LP: #1388539)
      . [regression] mir_demo_server_basic does not start (LP: #1391923)

  [ Ubuntu daily release ]
  * New rebuild forced
 -- Ubuntu daily release <email address hidden> Tue, 25 Nov 2014 17:49:24 +0000

Changed in mir (Ubuntu):
status: Triaged → Fix Released
Changed in mir:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers