Package: libgl1-mesa-glx Version: 7.0.3-7 (I am not completely sure that this is the correct package, if not, please reassign) After upgrading my home computer to Lenny I am observing a misbehavior of OpenGL programs, namely, whenever they should draw a GL_LINE_LOOP, the first and last segments of the line aren't drawn. I'm attaching a simple test program (compile with -lglut). The correct behavior would be to draw two nested white squares on a black background. Instead the outer square (drawn as a GL_LINE_STRIP with the start/end point repeated) is rendered correctly, but of the inner square (drawn as a GL_LINE_LOOP) only two segments are drawn. This problem seems to be specific of my hardware configuration, because I tried the same test program on another computer (with a Lenny live cd) and there it worked correctly. It is definitely a regression from Etch where it used to work also on my computer. My graphics card is rather old, it is a Radeon 7000. I'm using no proprietary drivers or nonstandard configurations, everything comes from the stock Lenny installation. I'm attaching the /var/log/Xorg.0.log file where I suppose you should find all the needed information. If you need more, please ask. Thank you Gerardo
#include <GL/gl.h> #include <GL/glut.h> void display_func(void) { glDrawBuffer(GL_BACK); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /* ok */ glBegin(GL_LINE_STRIP); glVertex3d(-2.0, -2.0, 0.0); glVertex3d(-2.0, 2.0, 0.0); glVertex3d( 2.0, 2.0, 0.0); glVertex3d( 2.0, -2.0, 0.0); glVertex3d(-2.0, -2.0, 0.0); glEnd(); /* not ok */ glBegin(GL_LINE_LOOP); glVertex3d(-1.0, -1.0, 0.0); glVertex3d(-1.0, 1.0, 0.0); glVertex3d( 1.0, 1.0, 0.0); glVertex3d( 1.0, -1.0, 0.0); glEnd(); glutSwapBuffers(); } void reshape_func(int width, int height) { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-3.0, 3.0, -3.0, 3.0, -1.0, 1.0); glMatrixMode(GL_MODELVIEW); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutCreateWindow(""); glutDisplayFunc(display_func); glutReshapeFunc(reshape_func); glutMainLoop(); return 1; }
Attachment:
Xorg.0.log
Description: Xorg.0.log