No idea? Has anybody run the app? Thanks
Agustin Rubio Mingorance wrote: > Michel Dänzer wrote: > >> On Mon, 2007-04-09 at 16:44 +0200, Agustin Rubio Mingorance wrote: >> >> >>> I'm writting a 2D-app with double buffering. I use the env variable >>> vblank_mode=3 >>> for syncing to vblank and avoiding tearing. The monitor VertRefresh is >>> set at 60 Hz. >>> >>> I'm using Xorg 7.1.1 + mesa 6.51 + i810 1.7.2 >>> >>> >> A lot of improvements have been made in this area recently. I recommend >> at least Mesa 6.5.2 or git and i915 DRM 1.6 or newer, possibly also a >> newer version of xf86-video-intel. >> >> >> >> > Hi, > > I still have the problem with the new versions of Mesa and DRM. > > I have noticed that the problem only appears in apps where I use textures. > > I send a example below that get 27 FPS, no matter what value vblank_mode > has (vert refresh is 60 Hz). > > ¿Any idea? > > > Thanks in advance > > > //main.cpp > extern "C"{ > #include <GL/gl.h> > #include <GL/glut.h> > } > > #include <iostream> > > int fps_time = 0; > int fps_timebase = 0; > int frame = 0; > int sleep_time = 0; > > #define TEXT_NUM 1 > #define TEXT_SIZE 256 > GLuint textures[TEXT_NUM]; > > void initGL (int argc, char* argv[]) > { > unsigned char* bitmap = new unsigned char [TEXT_SIZE * TEXT_SIZE * 3]; > > //Color > for (int i = 0; i < TEXT_SIZE * TEXT_SIZE * 3; i += 3){ > bitmap[i] = (i * 4) % 256; > bitmap[i + 1] = 0; > bitmap[i + 2] = 0; > > glGenTextures (TEXT_NUM , textures); > glEnable (GL_TEXTURE_2D); > > for (int i = 0; i < TEXT_NUM; i++){ > glBindTexture (GL_TEXTURE_2D, textures[i]); > > glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP); > glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP); > glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); > glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); > > > glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, TEXT_SIZE, TEXT_SIZE, > 0, GL_RGB, GL_UNSIGNED_BYTE, bitmap); > } > delete[] bitmap; > } > > void > keyPressed(unsigned char key, int x, int y) > { > if (key == 'q') { > exit (0); > } > } > > void > drawGLScene() > { > > frame++; > fps_time = glutGet (GLUT_ELAPSED_TIME); > if((fps_time - fps_timebase) > 1000){ > std::cout << "FPS:" << (1000 * frame) / (fps_time - fps_timebase) > << std::endl; > frame = 0; > fps_timebase = fps_time; > } > > > > float w = 200; > float h = 75; > float x = 0.0; > for (int i = 0; i < 4; i++){ > float y = 0.0; > for (int j = 0; j < 8; j++){ > glBindTexture (GL_TEXTURE_2D, textures[(j * 4) % TEXT_NUM]); > glBegin (GL_QUADS); > glVertex3f (x, y, -5); > glTexCoord2f (0.0, 0.0); > glVertex3f (x + w, y, -5); > glTexCoord2f (1.0, 0.0); > glVertex3f (x +w, y +h, -5); > glTexCoord2f (1.0, 1.0); > glVertex3f (x, y + h, -5); > glTexCoord2f (0.0, 1.0); > glEnd(); > y += h; > } > x += w; > } > > glutSwapBuffers(); > } > > void > idle() > { > glutPostRedisplay (); > } > > > int > main (int argc, char* argv[]) > { > glutInit (&argc, argv); > glutInitDisplayMode (GLUT_RGBA| GLUT_DOUBLE ); > glutInitWindowSize (800, 600); > glutInitWindowPosition (100, 100); > glutCreateWindow (""); > > glClearColor (0.0f, 0.0f, 0.0f, 0.0f); > glMatrixMode (GL_PROJECTION); > glLoadIdentity (); > > glOrtho (0, 800, 0, 600, 0, 500); > glMatrixMode (GL_MODELVIEW); > > glutSetCursor(GLUT_CURSOR_NONE); > glShadeModel (GL_FLAT); > glDisable (GL_DITHER); > glEnable (GL_BLEND); > glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); > > glDisable(GL_DITHER); > > initGL (argc, argv); > > glutIdleFunc (idle); > glutReshapeFunc (0); > glutKeyboardFunc (keyPressed); > glutDisplayFunc (drawGLScene); > glutMainLoop (); > > return 0; > } > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Mesa3d-dev mailing list > Mesa3d-dev@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mesa3d-dev > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev