Merge lp:~compiz-team/compiz/compiz.fix_1040478 into lp:compiz/0.9.9
Status: | Superseded |
---|---|
Proposed branch: | lp:~compiz-team/compiz/compiz.fix_1040478 |
Merge into: | lp:compiz/0.9.9 |
Diff against target: |
2312 lines (+1361/-326) 16 files modified
debian/patches/100_workaround_virtualbox_hang.patch (+25/-25) plugins/opengl/CMakeLists.txt (+6/-0) plugins/opengl/include/opengl/framebufferobject.h (+182/-41) plugins/opengl/include/opengl/opengl-api.h (+42/-0) plugins/opengl/include/opengl/opengl.h (+82/-22) plugins/opengl/src/fbdirectdraw/CMakeLists.txt (+32/-0) plugins/opengl/src/fbdirectdraw/include/framebuffer-direct-draw.h (+111/-0) plugins/opengl/src/fbdirectdraw/src/framebuffer-direct-draw.cpp (+177/-0) plugins/opengl/src/fbdirectdraw/tests/CMakeLists.txt (+24/-0) plugins/opengl/src/fbdirectdraw/tests/test-opengl-framebuffer-direct-draw.cpp (+237/-0) plugins/opengl/src/framebufferobject.cpp (+112/-104) plugins/opengl/src/paint.cpp (+10/-80) plugins/opengl/src/privates.h (+49/-7) plugins/opengl/src/screen.cpp (+251/-34) plugins/water/src/water.cpp (+17/-9) plugins/water/src/water.h (+4/-4) |
To merge this branch: | bzr merge lp:~compiz-team/compiz/compiz.fix_1040478 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt | Resubmit on 2013-04-02 | ||
MC Return | Approve on 2013-03-24 | ||
PS Jenkins bot (community) | continuous-integration | 2013-02-28 | Approve on 2013-02-28 |
jenkins | continuous-integration | 2013-02-28 | Pending |
Sam Spilsbury | Pending | ||
Review via email:
|
This proposal supersedes a proposal from 2013-02-27.
This proposal has been superseded by a proposal from 2013-04-02.
Commit message
Implement support for glBlitFramebuffer. On some platforms this may speed up the final composite operation as we skip the fragment processor entirely.
The logic around this code is basically that if glBlitFramebuffer fails, then we don't use it again (the failure case is it not being available), and use the fallback textured draw code.
Tests added for the new module FramebufferDire
Description of the change
Rebased.
Implement support for glBlitFramebuffer. On some platforms this may speed up the final composite operation as we skip the fragment processor entirely.
The logic around this code is basically that if glBlitFramebuffer fails, then we don't use it again (the failure case is it not being available), and use the fallback textured draw code.
Tests added for the new module FramebufferDire
The API and ABI of GLFramebufferObject were broken too so that we could specify which buffer we actually wanted to bind.
Also added new concepts of framebuffer binding points. These are now responsible for binding framebuffers to the GL_DRAW_FRAMEBUFFER or GL_READ_FRAMEBUFFER rather than the object itself. This effectively means that we can optimize out multiple binds of the same object, or leave objects bound until they /actually/ need to change.
jenkins (martin-mrazik+qa) wrote : | # |
PASSED: Continuous integration, rev:3388
http://
Executed test runs:
SUCCESS: http://
Daniel van Vugt (vanvugt) wrote : | # |
I have not seen any improvement yet myself. It would have to be quite significant to risk large changes to the 0.9.8 tree right now.
As far as I can tell, this is not required for quantal. So please repropose it after we've branched for 0.9.9.
jenkins (martin-mrazik+qa) wrote : | # |
FAILED: Continuous integration, rev:3388
http://
Executed test runs:
FAILURE: http://
jenkins (martin-mrazik+qa) wrote : | # |
FAILED: Continuous integration, rev:3389
http://
Executed test runs:
FAILURE: http://
Daniel van Vugt (vanvugt) wrote : | # |
Don't we want to fix bug 1051287 before merging this?
Sam Spilsbury (smspillaz) wrote : | # |
Probably a good idea. Lets do that.
Sam Spilsbury (smspillaz) wrote : | # |
Though, I'm not entirely certain. In order to fix it properly I'll need to add a concept of framebuffer bindings points to opengl, that could inflate this change a little more (or at least introduce a dependency)
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3389
http://
Executed test runs:
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3394
http://
Executed test runs:
SUCCESS: http://
Click here to trigger a rebuild:
http://
MC Return (mc-return) wrote : | # |
165 + * This since this code only draws a rectangular region from one
should probably be:
165 + * Since this code only draws a rectangular region from one
The copyright in plugins/
Is the fallthrough in plugins/
1323 switch (status)
1324 {
1325 - case GL::FRAMEBUFFER
1326 + case GL::FRAMEBUFFER
1327 return "GL::FRAMEBUFFE
1328 - case GL::FRAMEBUFFER
1329 + case GL::FRAMEBUFFER
1330 return "GL::FRAMEBUFFE
1331 - case GL::FRAMEBUFFER
1332 + case GL::FRAMEBUFFER
1333 return "GL::FRAMEBUFFE
1334 - case GL::FRAMEBUFFER
1335 + case GL::FRAMEBUFFER
1336 return "GL::FRAMEBUFFE
1337 - case GL::FRAMEBUFFER
1338 + case GL::FRAMEBUFFER
1339 return "GL::FRAMEBUFFE
1340 default:
1341 return "unexpected status";
1342 }
Sam Spilsbury (smspillaz) wrote : | # |
On Sun, Feb 10, 2013 at 8:28 PM, MC Return <email address hidden> wrote:
> 165 + * This since this code only draws a rectangular region from one
> should probably be:
> 165 + * Since this code only draws a rectangular region from one
>
> The copyright in plugins/
Thanks, I'll update it.
>
> Is the fallthrough in plugins/
> 1323 switch (status)
> 1324 {
> 1325 - case GL::FRAMEBUFFER
> 1326 + case GL::FRAMEBUFFER
> 1327 return "GL::FRAMEBUFFE
> 1328 - case GL::FRAMEBUFFER
> 1329 + case GL::FRAMEBUFFER
> 1330 return "GL::FRAMEBUFFE
> 1331 - case GL::FRAMEBUFFER
> 1332 + case GL::FRAMEBUFFER
> 1333 return "GL::FRAMEBUFFE
> 1334 - case GL::FRAMEBUFFER
> 1335 + case GL::FRAMEBUFFER
> 1336 return "GL::FRAMEBUFFE
> 1337 - case GL::FRAMEBUFFER
> 1338 + case GL::FRAMEBUFFER
> 1339 return "GL::FRAMEBUFFE
> 1340 default:
> 1341 return "unexpected status";
> 1342 }
>
No fall-through is possible, since we return directly.
> --
> https:/
> You proposed lp:~compiz-team/compiz/compiz.performance_1040478 for merging.
--
Sam Spilsbury
MC Return (mc-return) wrote : | # |
>
> No fall-through is possible, since we return directly.
>
Ah, yeah - you are right ofc. - sorry 'bout that.
Sam Spilsbury (smspillaz) wrote : | # |
Checking the copyright again on opengl-api.h, I don't think there is any problem there. All I did for that code was cut-and-paste part of private.h, no actual modification on my part.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3405
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3409
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3410
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
MC Return (mc-return) wrote : | # |
The change to debian/changelog seems to be unintended and should probably be removed here as well.
Sam Spilsbury (smspillaz) wrote : | # |
Thanks. I fixed that yesterday but seemed to forget to push it here.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3411
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3413
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3413
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3414
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3415
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3416
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3417
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3417
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3418
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3419
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:3628
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 3629. By Sam Spilsbury on 2013-02-28
-
Refresh patches
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:3629
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
MC Return (mc-return) wrote : | # |
Works for me (on ATI fglrx).
Btw, ATI fglrx supports GL_EXT_
Timo Jyrinki (timo-jyrinki) wrote : | # |
Since the 13.04 is happening, we are now past Feature Freeze with 0.9.9 :( The bug report would need be changed to a FFe if this would be wanted to be gotten in. The performance benefits should probably also need benchmarking to double-check there won't be any regressions? Especially Intel I'd guess, its OpenGL 3.0 support is quite new.
Sam Spilsbury (smspillaz) wrote : | # |
My understanding is that these branches will not be taken in
lp:compiz/raring. lp:compiz is now a separate project.
On Mon, Mar 11, 2013 at 1:17 PM, Timo Jyrinki
<email address hidden> wrote:
> Since the 13.04 is happening, we are now past Feature Freeze with 0.9.9 :( The bug report would need be changed to a FFe if this would be wanted to be gotten in. The performance benefits should probably also need benchmarking to double-check there won't be any regressions? Especially Intel I'd guess, its OpenGL 3.0 support is quite new.
> --
> https:/
> You proposed lp:~compiz-team/compiz/compiz.fix_1040478 for merging.
--
Sam Spilsbury
Timo Jyrinki (timo-jyrinki) wrote : | # |
Yeah, you're correct.
MC Return (mc-return) wrote : | # |
> Since the 13.04 is happening, we are now past Feature Freeze with 0.9.9 :( The
> bug report would need be changed to a FFe if this would be wanted to be gotten
> in. The performance benefits should probably also need benchmarking to double-
> check there won't be any regressions? Especially Intel I'd guess, its OpenGL
> 3.0 support is quite new.
Intel should support GL_EXT_
We should land this in trunk and set up a Compiz-trunk-PPA, so more users could
test changes that are landed in trunk.
MC Return (mc-return) wrote : | # |
> My understanding is that these branches will not be taken in
> lp:compiz/raring. lp:compiz is now a separate project.
>
Sam, could you set up a PPA auto-building lp:compiz ?
It would be very useful to be able to have a solid user testing
base for changes landing in trunk==lp:compiz...
Sam Spilsbury (smspillaz) wrote : | # |
This is easy enough to do yourself, see "create packaging recipe"
here https:/
default will work fine.
On Sun, Mar 24, 2013 at 6:11 PM, MC Return <email address hidden> wrote:
>> My understanding is that these branches will not be taken in
>> lp:compiz/raring. lp:compiz is now a separate project.
>>
>
> Sam, could you set up a PPA auto-building lp:compiz ?
> It would be very useful to be able to have a solid user testing
> base for changes landing in trunk==lp:compiz...
>
> --
> https:/
> You proposed lp:~compiz-team/compiz/compiz.fix_1040478 for merging.
--
Sam Spilsbury
Unmerged revisions
- 3629. By Sam Spilsbury on 2013-02-28
-
Refresh patches
- 3628. By Sam Spilsbury on 2013-02-28
-
Implement support for glBlitFramebuffer. On some platforms this may speed up the final composite operation as we skip the fragment processor entirely.
The logic around this code is basically that if glBlitFramebuffer fails, then we don't use it again (the failure case is it not being available), and use the fallback textured draw code.
Tests added for the new module FramebufferDire
ctDraw.
FAILED: Continuous integration, rev:3387 jenkins. qa.ubuntu. com/job/ compiz- ci/77/ jenkins. qa.ubuntu. com/job/ compiz- ci/./build= pbuilder, distribution= quantal, flavor= amd64/77/ console
http://
Executed test runs:
FAILURE: http://