I am using new version of the fglrx driver (8.911) and I am observing the following regression: in one particular code using OpenGL for visualzation, whenever an OpenCL device is opened, the OpenGL display gets strangely corrupted: only every other frame shows the 3d scene, while the other ones show whatever happened to be behind the new 3d window at the moment it was open.
Actually, I can see horizontal stripes of background (which is frozen, even if I move the 3d window) and the 3d scene, suggesting that there is no frame synchronization (the LCD is pivoted, in case that is important).
Curiously, it is independent on whether the OpenCL device which gets opened (be it the graphics card itself, or the CPU, for instance). It also does not depend on whether the OpenCL device is used for any computation.
Attached are three screenshots of the same 3d windows, which was open intially over black desktop (those are the portions which are black); the screenshots were taken at random points of time. The OpenCL device openede in this case was
|platform "Intel(R) OpenCL", device "||Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz"|
but it would be visually the same when it were the graphics card.
Let me know if I can provide more information. Running Ubuntu 12.04 with 8.911 driver, Linux kernel 3.2.0, the card is an ATI Cayman XT [Radeon HD 6970].
Thanks for reporting this. There seems enough detail for us to analyse and test it. If we need more information, we'll contact you.
A further detail which I found out by accident and might be perhaps useful: when the OpenGL window is opened before OpenCL gets initialized, OpenGL keeps working flawlessly even if OpenCL is initialized later.