How is acceleration in Qt done?

I was under the impression that Qt does its drawing through OpenGL, and thus is accelerated by the PVR OpenGL drivers.

However, while searching these boards, I saw some reference to an SGX plug-in for Qt.



Could someone enlighten me please? I’ve been asked to “HW accelerate” a Qt implementation on a VxWorks/OMAP platform. Is this just a matter of making sure the proper OpenGL drivers are installed, or is there an SGX specific component I need to locate?



Thanks!

Noel

Hi Noel,



Qt has an OpenGL ES accelerated path. I’m unsure whether this is something you have to enable manually, or if the Qt framework will detect the presence of OpenGL ES drivers and enable it automatically.



I’d recommend discussing this with the Qt support team. They should be able to help you accelerate your application.



Thanks,

Joe

Thank you Joe. After poking around in the Qt Forums and downloading the Open Source version of Qt, I learned a few things:

  1. Qt does export an API to allow 2D raster acceleration (QPaintEngine class)
  2. Their open source tree does not include 2D raster acceleration for the PowerVR. At least not for 4.8.x
  3. The work needed to do this acceleration is sizeable.



    This seems to me like something that would be very useful and desirable. I’m surprised that neither Imagination Technologies nor Digia have this code already. The Linux version seems content to draw through DirectFB, but I will be working on VxWorks, so that option isn’t available.



    Thanks,

    Noel