[mythtv] Potential new vsync method for NVidia cards

Mike Wright bodyjarrocks at gmail.com
Sun Apr 17 04:11:21 UTC 2005


Hi all,

I just came across this code from the DirectFB project:

static DFBResult
nvcrtc1WaitVSync( CoreScreen *screen,
                  void       *driver_data,
                  void       *screen_data )
{
     NVidiaDriverData *nvdrv = (NVidiaDriverData*) driver_data;
     volatile __u8    *PCIO  = nvdrv->PCIO;

     if (!dfb_config->pollvsync_none) {
          while (  nv_in8( PCIO, 0x3DA ) & 8 );
          while (!(nv_in8( PCIO, 0x3DA ) & 8));
          // using PCRTC
          //while (  nv_in32( nvdrv->PCRTC, 0x808 ) & 0x10000 );
          //while (!(nv_in32( nvdrv->PCRTC, 0x808 ) & 0x10000));
     }

     return DFB_OK;
}

To me it looks like this is some code which figures out when the VSync
occurs on an NVidia card.  Why would you care?  Well last time I 
looked (and that was a while ago) the only way of tracking vsync on
Nvidia was via the OpenGL method.  That means you have to use 
NVidia's drivers - which a lot of people find cause system 
instability.  If someone could figure out how to un-DirectFBize
this code then theoretically you could use the open-source NV X 
driver (which I find to be rock solid) and NVTV to control TV-out.

Just a thought . . .  If this is old news then my apologies.

Cheers,
Mike.


More information about the mythtv-dev mailing list