~alan-griffiths/mir/remove-BufferInitializer

« back to all changes in this revision

Viewing changes to playground/demo-shell/demo_compositor.cpp

  • Committer: Tarmac
  • Author(s): Daniel van Vugt
  • Date: 2014-10-15 20:24:04 UTC
  • mfrom: (1983.1.1 toy)
  • Revision ID: tarmac-20141015202404-8oecepv5mq7s6eqh
demo-shell: Quick fix for when an opaque fullscreen surface is on top.
Make sure the bypass check doesn't get skipped when we need it most
(LP: #1378706)

This is a bit hackish. But the problem and the solution are both
confined to DemoCompositor so I think good to have something that
at least works until we find a more elegant way to demo occlusion
testing of decorations. Fixes: https://bugs.launchpad.net/bugs/1378706.

Approved by Alan Griffiths, Alexandros Frantzis, PS Jenkins bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
        if (renderable->visible() && any_part_drawn)
82
82
        {
83
83
            renderable_list.push_back(renderable);
 
84
 
 
85
            // Fullscreen and opaque? Definitely no embellishment
 
86
            if (renderable->screen_position() == view_area &&
 
87
                renderable->alpha() == 1.0f &&
 
88
                !renderable->shaped() &&
 
89
                renderable->transformation() == glm::mat4())
 
90
            {
 
91
                embellished = false;
 
92
                nonrenderlist_elements = false; // Don't care what's underneath
 
93
            }
 
94
 
84
95
            it->rendered_in(this);
85
96
        }
86
97
        else