Merge lp://qastaging/~smspillaz/unity/unity.big_fbo into lp://qastaging/unity

Proposed by Sam Spilsbury
Status: Superseded
Proposed branch: lp://qastaging/~smspillaz/unity/unity.big_fbo
Merge into: lp://qastaging/unity
Diff against target: 369 lines (+57/-85)
2 files modified
plugins/unityshell/src/unityshell.cpp (+50/-77)
plugins/unityshell/src/unityshell.h (+7/-8)
To merge this branch: bzr merge lp://qastaging/~smspillaz/unity/unity.big_fbo
Reviewer Review Type Date Requested Status
Jason Smith (community) Approve
Mirco Müller (community) Needs Fixing
Neil J. Patel Pending
Review via email: mp+78202@code.qastaging.launchpad.net

This proposal has been superseded by 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.

To post a comment you must log in.
Revision history for this message
Mirco Müller (macslow) wrote :

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.

review: Needs Fixing
Revision history for this message
Mirco Müller (macslow) wrote :

I tried this on my laptop (intel graphics, mesa) and it worked ok. So something odd is happening with nvidia (binary driver). Might need to see how ATI/fglrx behaves with this.

Revision history for this message
Michal Hruby (mhr3) wrote :

Nvidia here and I can confirm MacSlow's findings.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

> Nvidia here and I can confirm MacSlow's findings.

Damn, ok. Their driver is broken :( I will have to work around it.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Noted: the driver is not carrying over attributes when set using glPushAttrib (GL_CURRENT_BIT), Jay says that they should be, and this is what the mesa drivers do, so NVIDIA should know about this.

Revision history for this message
Michal Hruby (mhr3) wrote :

I can confirm that it properly repaints now, can't test multiple monitors though.

Revision history for this message
Jason Smith (jassmith) wrote :

+1

review: Approve
Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Can someone with fglrx test this ?

Revision history for this message
Gord Allott (gordallott) wrote :

On 11/10/11 12:18, Sam Spilsbury wrote:
> Noted: the driver is not carrying over attributes when set using glPushAttrib (GL_CURRENT_BIT), Jay says that they should be, and this is what the mesa drivers do, so NVIDIA should know about this.

merge approved

--
Gordon Allott
Canonical Ltd.
27 Floor, Millbank Tower
London SW1P 4QP
www.canonical.com

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.