View Full Version : ATI FireGL V7700 driver crash involving glBlitFramebuffer

James W. Walker
06-12-2014, 04:41 PM
I'm getting a driver crash (brings down video on the whole PC), and I expect it's probably a driver bug, but I thought I'd post it on the off chance that someone knows a workaround. The rough outline of events is as follows:

Create multisample FBO (4 samples, color + packed depth/stencil render buffers), bound to draw target
Create single-sample FBO (color + packed depth/stencil render buffers), bound to read draw target
render some stuff
resolve samples using glBlitFramebuffer from the multi-sampled FBO to the single-sampled FBO
read some pixel data using glReadPixels
delete render buffers and FBOs
Render in a previously-existing on-screen OpenGL context

Since the driver dies after I cleaned up the FBOs, I thought I might be doing that wrong. But if I omit that step and just let stuff leak, the crash happens just the same.

On the other hand, if I omit the glBlitFramebuffer call, the crash doesn't happen. I was using the mask GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. If I change that to GL_COLOR_BUFFER_BIT, it no longer crashes (but I may need the depth). If I change the mask to GL_DEPTH_BUFFER_BIT, or GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT, it does crash.

As indicated in the title, the problem is occurring on ATI FireGL V7700. On the other hand, on a PC with an ATI Radeon HD 4670, the same code works fine.