Imagination PowerVR SDK Blog

Using SGX530 GL context via QGLWidget: broken?


Hi everybody,

I'm having issues running a Qt/OpenGL application on a TI AM37xx EVM equipped with the SGX530 chip.  I'm seeing warnings suggesting that some features are either broken or unimplemented on that chip. 

To better explain the problem, here is the relevant code where the GL context is made current: 

As you can see, Qt is explicitly enabling workarounds for: 

 * the need of clearing *all* client buffers (color, depth, stencil as well?) before drawing a frame; 
 * unrealiable behaviour of glTexSubImage2D on textures bigger than 1024x1024; 
 * unrealiable behaviour reading from FBO's: from what I have understood, this also seems to make impossible for the driver to implement cursor drawing in hardware without redrawing the whole frame each time the cursor moves. 

Are you aware of any of the above problems? And, if so, will a later revision of hardware/driver become available to avoid doing these workarounds?

Thanks in advance!




Clearing all buffers at the start of a frame is an optimization in our drivers by design. It informs the driver that the previous frame’s buffers do not need to be preserved.

I can’t say certain without testing, but it’s likely that these workarounds are specific to the very old driver versions they refer to. Newer drivers shouldn’t require these workarounds.