Hi again!

Although I've managed to remove the tearing artifacts in our dga program, the 
rendering speed (fps) is slow. I'm planning to use page flipping in our code 
but the program hangs when we run it. This is a part of our code that do the 
page flipping:

                //change the memory that is mapped to the framebuffer
                //experiences conflict on this part, must wait for the          
            //retrace to change the
                //viewport, but cannot use the XDGASetViewport since it //      
                //hangs
#if 0
                if(temp_offset==(unsigned long)addr){

                XF86DGASetViewPort(dis, DefaultScreen(dis), 0, 0);
                        j=0;
                        while ((XF86DGAViewPortChanged(dis,                     
                                DefaultScreen(dis),2) != True) && j<=20)
                                Write_Log("reading view port", MSG_E);
                        if (j>=20)
                                Quit_Display(SIGINT);

                        //XDGASetViewport(dis, DefaultScreen(dis), 0,           
                                0,XDGAFlipRetrace );
                        printf("height:0\n");
                        temp_offset=(unsigned long)addr+(ACTUALSIZE-            
                                (ACTUALWIDTH*1));
            }
            else {

                XF86DGASetViewPort(dis, DefaultScreen(dis), 0, height);
                        j=0;
                        while ((XF86DGAViewPortChanged(dis,                     
                                DefaultScreen(dis),2) != True) && j<=20)
                                Write_Log("reading view port", MSG_E);
                        if (j>=20)
                                Quit_Display(SIGINT);

                        //XDGASetViewport(dis, DefaultScreen(dis), 0,           
                                        height,XDGAFlipRetrace );
                        printf("height:%d\n",height);
                        temp_offset = (unsigned long)addr;
            }
#endif                 

We're using an AMD geode gx2 processor with 128mb ram and 16mb vram. According 
to the AMD datasheets the processor does not update the VGA register 0x3DA so 
we're polling another address for vsync. are we using page flipping in our code 
correctly?

Eugene M. Fariņas
Design Engineer
Eazix, Inc.
BSAP, UPLB

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.797 / Virus Database: 541 - Release Date: 11/15/2004
 

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to