Merge lp://qastaging/~smspillaz/unity/unity.fix_864784_868120_872625v2 into lp://qastaging/unity
Status: | Merged |
---|---|
Approved by: | Tim Penhey |
Approved revision: | no longer in the source branch. |
Merged at revision: | 1816 |
Proposed branch: | lp://qastaging/~smspillaz/unity/unity.fix_864784_868120_872625v2 |
Merge into: | lp://qastaging/unity |
Diff against target: |
1729 lines (+1188/-297) 11 files modified
plugins/unityshell/src/BackgroundEffectHelper.cpp (+13/-0) plugins/unityshell/src/BackgroundEffectHelper.h (+1/-1) plugins/unityshell/src/PanelView.cpp (+1/-2) plugins/unityshell/src/ScreenEffectFramebufferObject.cpp (+234/-0) plugins/unityshell/src/ScreenEffectFramebufferObject.h (+87/-0) plugins/unityshell/src/unityshell.cpp (+75/-257) plugins/unityshell/src/unityshell.h (+7/-35) standalone-clients/CMakeLists.txt (+16/-2) standalone-clients/GLFuncLoader.cpp (+51/-0) standalone-clients/GLFuncLoader.h (+33/-0) standalone-clients/TestScreenEffectFramebufferObject.cpp (+670/-0) |
To merge this branch: | bzr merge lp://qastaging/~smspillaz/unity/unity.fix_864784_868120_872625v2 |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jason Smith (community) | Approve | ||
Mirco Müller | Pending | ||
Neil J. Patel | Pending | ||
Review via email:
|
This proposal supersedes a proposal from 2011-11-14.
Description of the change
Fix bug 868120 and bug 872625
We should use one framebuffer object per screen rather than one per monitor. Using one per monitor leads to all kinds of interesting rendering glitches because the plugins expect that paint is clipped to the entire backbuffer rather than paint being contained in one buffer.
This should also fix crashes on changing resolutions, as we don't have the race condition where a monitor paints and an fbo hasn't been created for it yet.
Also adds a testcase now, its in standalone-
The testcase is a little quirky because we're trying to simulate what's going on when unity is actually running embedded in another opengl application, which means that we have to use nux's embedded mode rather than testing BackgroundEffec
This branch does break the repaint-cycle. While it compiles/works/runs screen-updates only happen when a window is moved. From the diff I currently don't see what you're missing.