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

Reply via email to