Potential race condition where X commands haven't finished processing when we bind a texture and generate mipmaps

Bug #1016367 reported by Sam Spilsbury
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Sam Spilsbury
Compiz Core
Incomplete
Undecided
Unassigned
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

There's a potential race condition in this code:

(*GL::releaseTexImage) (screen->dpy (), pixmap, GLX_FRONT_LEFT_EXT);
(*GL::bindTexImage) (screen->dpy (), pixmap, GLX_FRONT_LEFT_EXT, NULL);
If there are changes to the pixmap, or if pixmap goes away in between those calls, then the resultant call will be invalid. We should instead grab the server, get the pixmap, wait for the server and then attempt to bind it. That wil also guaruntee tear-free pixmap binds.

Related branches

lp:~compiz-team/compiz/compiz.fix_1016367
Daniel van Vugt: Approve
Diff: 77 lines (+22/-6)
2 files modified
plugins/opengl/src/privatetexture.h (+2/-0)
plugins/opengl/src/texture.cpp (+20/-6)
api
lp:~sil2100/compiz-core/cherry_3275
Ready for review for merging into lp:compiz-core
Daniel van Vugt: Disapprove
Diff: 77 lines (+22/-6)
2 files modified
plugins/opengl/src/privatetexture.h (+2/-0)
plugins/opengl/src/texture.cpp (+20/-6)
api
Sam Spilsbury (smspillaz)
Changed in compiz:
importance: Undecided → High
assignee: nobody → Sam Spilsbury (smspillaz)
milestone: none → 0.9.8.0
status: New → In Progress
Sam Spilsbury (smspillaz)
description: updated
Unity Merger (unity-merger)
Changed in compiz:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt)
Changed in compiz-core:
status: New → In Progress
assignee: nobody → Łukasz Zemczak (sil2100)
Daniel van Vugt (vanvugt)
Changed in compiz:
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This bug was fixed in the package compiz - 1:0.9.8.0-0ubuntu1

---------------
compiz (1:0.9.8.0-0ubuntu1) quantal-proposed; urgency=low

* debian/control, debian/rules:
- enable gles on armel and armhf
- use dh-translations rather than custom code

[ Sam Spilsbury ]
* Enable OpenGL ES building
- Refresh debian/patches/workaround_broken_drivers.patch
- Remove non-ported plugins from compiz-plugins
- Add FindOpenGLES2.cmake to compiz-dev

[ Timo Jyrinki ]
* New upstream release.
- Code to make compiz work on GLES. This includes several changes
to the compiz API. (LP: #201342) (LP: #901097) (LP: #1004251)
(LP: #1037710)
- Draft first 0.9.8.0 NEWS and bump VERSION
* debian/patches/compiz-package-gles2.patch:
- Remove, obsoleted by the upstream GLES work
* Disable plugins that don't work on pure GLES on armhf/armel:
- bench, firepaint, mblur, showmouse, splash, showrepaint, td, widget
-- Sebastien Bacher <email address hidden> 2012年8月31日 22:59:50 +0200

Changed in compiz (Ubuntu):
status: New → Fix Released
Łukasz Zemczak (sil2100)
Changed in compiz-core:
status: In Progress → Incomplete
assignee: Łukasz Zemczak (sil2100) → nobody
To post a comment you must log in.
This report contains Public information
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.

AltStyle によって変換されたページ (->オリジナル) /