This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Cannot build QT app built against OpenGL ES 1

Other Parts Discussed in Thread: AM3517

I'm using AM3517 with SGX and Qt.  I have previously run Qt 4.6.3 on the AM3517 and was able to run either OpenGL ES 1 or OpenGL ES 2 apps (depending on which version of Qt was built and installed... -opengl es1 or -opengl es2).

I have since upgraded to Qt 4.7.3 and had been OK with OpenGL ES 2, but I went to rebuild one of my old ES 1 apps against Qt 4.7.3 (built fore ES 1) and it wouldn't run properly.  This is very interesting considering the original binary built against Qt 4.6.3 actually runs fine using the Qt 4.7.3 shared libs.  Using the original build is what I ended up doing for now.

When I try to run the hellogl_es example, the app loads up but the GL widget is blank (light-green color...the way it looks when the GL drawing area isn't initialized properly) and I get errors about a QPixmap being NULL on the console.  When I try to load my app, the app loads up but again the GL widget is blank and I get warnings about there being an invalid surface (error 0x300B, if I remember right).

Of course, I need to figure out pixel shaders anyway so I can do this app in ES 2...but it would be nice if I could also get ES 1 working with Qt again.  Note that the SGX examples seem to be running OK.

I was wondering if the linux-TIarmv7-g++ mkspec is actual incorrect for building for OpenGL ES 1, since it seems to always pull in the OGLES2 libraries...

Any ideas?

  • Since you are able to link Qt without missing symbols, there cannot be an issue with the gles1 vs gles2 libs/ mkspec.

    Depending on what version of Graphics drivers you are using - take a look at below link:

    http://tigraphics.blogspot.com/2011/06/qtopengles-with-latest-sgx-powervr.html

     

     

  • Thanks for the reply.

    Yes, I've already examined the web site and the wsegl patch was already applied (I'm using Qt 4.7.3 and a pretty recent version of PowerVR/SGX (I don't have the system were I can view the module's version report at the moment).  Other debug info posted on the site is not helpful for this problem.

    OpenGL ES 2 apps work (with Qt configured with -opengl es2 option).  Old OpenGL ES 1 app builds work (built against our previous configuration, but running with the latest configuration, libraries, Qt with -opengl es1 option, etc.).  New OpenGL ES 1 app builds do not work (using same setup where old builds work).

    It's a very strange problem and the only thing I can think of is that there is a new or changed symbol that is used at compile time.  The new symbol is broken whereas the old symbol works.  I wonder if it has anything to do with the wsegl patch from the website which I applied for OpenGL ES 2 because the symptom has a similar warning output.