Hide Forgot
Created attachment 481211 [details] Sample program to demonstrate improperly rendered image. Description of problem: I noticed in a Qt/OpenGL program that certain images were not rendered correctly. In particular, lighted polygons drawn with client state pointers for vertexes and normals using glDrawElements were not drawn with the correct colors under some circumstances. This happens on my ThinkPad T42p with an ATI Technologies Inc M10 NT [FireGL Mobility T2] (rev 80) GPU and when hardware acceleration is turned on. Namely using: * X.Org R300 Project Gallium 0.4 on RV350 2.1 Mesa 7.9 I created a small sample program which I hope will demonstrate the problem: It should render a red square in the upper right quadrant of the window. However, I see a yellow rectangle unless I do one of the following: 1. Set the LIBGL_ALWAYS_SOFTWARE environment variable, or, 2. Don't use the the GL_NORMAL_ARRAY client state, or, 3. Comment out the glPushMatrix/glPopMatrix calls at the end of the painting routine. Version-Release number of selected component (if applicable): mesa-dri-drivers-7.9-5.fc14.i686 How reproducible: Run the sample program attached to this ticket. Steps to Reproduce: 1. Build the executable: $ g++ -g -o nqgl nqgl.cpp -I /usr/include/QtGui/ -I /usr/include/QtOpenGL/ -lQtGui -lQtOpenGL -lQtCore -lGL 2. Run the sample program: $ ./nqgl Actual results: I see a 500x500 window with a gray background and a yellow square in the upper right quadrant. Expected results: A 500x500 window with a gray background and a *red* square in the upper right quadrant. Additional info: If I run the sample program in gdb, the first time through View::paintGL, the red square is rendered correctly. However, subsequent repaints all yield a yellow square.
Switching for checking to Qt folks, whether this isn't Qt issue after and for further analysis to tell us what's wrong on our side (if anything). Thank you for reporting the issue.
Hmmm, what makes you think this is a Qt issue, considering that LIBGL_ALWAYS_SOFTWARE (which touches only Mesa and not Qt) works around it? QGLWidget is only a lightweight OpenGL container, and all the stuff being done in View::paintGL is plain OpenGL.
works well with hw accel on my (intel) box, fwiw. $ ./nqgl Tungsten Graphics, Inc Mesa DRI Intel(R) Q45/Q43 GEM 20100330 DEVELOPMENT 2.1 Mesa 7.9
Yes, cannot reproduce on intel with nqgl built with g++ -o nqgl -I/usr/include/QtGui/ -I/usr/include/QtOpenGL/ -lQtCore \ -lQtOpenGL -lQtGui -lGL -lGLU nqgl.cpp
This message is a notice that Fedora 15 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 15. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At this time, all open bugs with a Fedora 'version' of '15' have been closed as WONTFIX. (Please note: Our normal process is to give advanced warning of this occurring, but we forgot to do that. A thousand apologies.) Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, feel free to reopen this bug and simply change the 'version' to a later Fedora version. Bug Reporter: Thank you for reporting this issue and we are sorry that we were unable to fix it before Fedora 15 reached end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged to click on "Clone This Bug" (top right of this page) and open it against that version of Fedora. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping