Severe damage artefacts and flickering when using LLVMpipe
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
Critical
|
Daniel van Vugt | ||
Compiz Core |
Triaged
|
Medium
|
Unassigned | ||
compiz (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
Precise |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
There are severe damage artefacts and flickering when using LLVMpipe.
The root cause seems to be that LLVMpipe does not support dynamically switching between rendering methods like compiz does in the opengl plugin:
glXSwapBuffers
glXCopySubB
glCopyPixels
LLVMpipe _does_ support any of these rendering methods when used alone, but it doesn't like switching between them dynamically. I've verified they all work perfectly in LLVMpipe so long as you use the same code path on every frame.
It appears that glXSwapBuffers is confusing what the other functions think is the GL_FRONT and GL_BACK buffer. So either it is implemented using a separate GL_FRONT buffer, or glXSwapBuffers is failing to update GL_FRONT and GL_BACK. Not sure yet.
WORKAROUND:
1. CCSM > Workarounds > Force full screen redraws (buffer swap) on repaint = ON
2. Log out and in again.
Related branches
- Sam Spilsbury: Approve
- Compiz Maintainers: Pending requested
-
Diff: 62 lines (+18/-2)2 files modifiedplugins/opengl/src/privates.h (+1/-0)
plugins/opengl/src/screen.cpp (+17/-2)
tags: |
added: llvmpipe removed: llvm |
Changed in compiz: | |
status: | Triaged → In Progress |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Critical |
description: | updated |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
Changed in compiz-core: | |
status: | New → Confirmed |
Changed in compiz (Ubuntu Precise): | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
Changed in compiz-core: | |
milestone: | 0.9.7.10 → 0.9.7.12 |
Changed in compiz-core: | |
milestone: | 0.9.7.12 → 0.9.7.14 |
This might be a "feature" and not a bug in LLVMpipe: www.mesa3d. org/osmesa. html
http://